. . . have merchants bring trade goods based on previous transactions and profitability. For example, if your fortress purchases all the steel bars the caravan brings, they'll bring a larger number next year (and raise the price, too). If you trade goods equivalent to several times the value for those bars then the merchants will bring many more (and raise the price accordingly). Eventually the supplies and prices should reach an equilibrium.
Can I get a AMEN! I've always felt that caravans should be a realistic approximation of supply & demand, with other civilizations realizing how much money there is to be made in bringing you the stuff you want . . . but always with a small side order of some of the stuff that
they don't want, because hey, humans produce pewter goblets too, and they've gotta flog 'em somewhere. When you tell the liaison that your demand for limestone couldn't be any higher, you don't mean "Please bring us precisely 4 lumps of limestone, I'm having a dining-room set made," you mean "OMG bring us ALL the limestone you possibly can we can pay you SO MUCH MONEY FOR IT OMFGGGGG"
If your fortress never purchases an item (ropes, for instance) over several years the number offered for trade will dwindle to 0-1 per caravan (no profit in carrying unwanted goods).
Slight alteration: Every Mountainhome caravan should always include a "Disaster Kit", no matter what. This kit would be the bare necessities to essentially re-embark on your own map: A anvil, pick, axe, a magma-safe stone, some charcoal, 2 shoes & a pair of pants, a splint, a crutch, a bag of plaster, a rope, a bucket, a couple of mechanisms, a barrel of food, and 2 barrels of booze. With this, even if the fort's sole survivor is a 12-year-old Peasant locked away in a panic room, he can still save the fort, just by accessing the trade depot.
More Radical Suggestion: Prices on caravan goods should reflect the distance and/or dangers in ferrying the goods from their homeland(s) all the way to your fortress. Players who embark on the other side of the world from your Mountainhome, take note.
Even More Radical Suggestion: You have more than 3 neighbors. Why do you get only 3 caravans? Provided your fortress has amassed enough wealth/industry to attract their notice, you should be visited by merchants of
every nearby settlement who think that such a venture would be worth their while.