Doing queries like "All stone crafts AND wooden crafts AND all (clothing with value<20)" would be divine.
But that's not the worst aspect. The worst is that you have to indicate all the stuff you want in the depot, and then, when it's there, you have to select it AGAIN... And then, when you're down, they start kicking you by hauling every trade good BACK OUT of the depot... so you have to do it all over again FOR EVERY SPORESPAWNING CARAVAN. (Good runner ups were the broker that is always off hauling silk socks when you need him, and the trader that selects the goods you don't want to sell and then hides them between the other trade goods so you have to comb the whole list AGAIN.)
All this could be simply solved by making the broker a sort of specialized bookkeeper that maintains a list of trade goods, and meets his counterpart in his office, where they discuss the lists of trade goods with a good barrel of ale. The goods meanwhile remain in their stockpile until they are sold, and
then it's time to haul them to the caravan (whose servants should assist in the hauling, by the way). Particularly distrustful traders could insist on inspecting some goods, in which case they tour the stockpiles.
How do we distinguish between trade goods and other goods? Simple: a Trade good tag, similar to the Melt, Hide or Dump markers. You can indicate them in the same way, or alternatively as an option in a workshop: "Mark all products of this workshop as Trade good". That opens other useful options: a stockpile that only accepts items marked as Trade good, or a manager command that, for example, says "decorate all Trade goods with bone".
In the
eternal voting list as "Persistent trade good tags"