Would it work well, if the liason would keep the negotiations up untill the caravan was leaving, and the prices of items were adjusted based on what the caravan was traded with?
For example, the first year you broken a deal to trade mugs at 100% value.
Next year, you are selling 10 000 dwarfbuck worth of mugs to caravan. This puts presshure to negotiations, and after the negotiations agreement only promises to pay 80% for mugs.
Year after that, you sell even more mugs (but get less per mug), and sell mugs 40 000 dwarfbuck worth(but 5 times the amount that previou syear). This presses the price down again, from the 80% to 20%.
Now you only get 20% of their value from mugs. You can keep producing them in mass, but the price will constantly go closer to 0%, maybe even reach it (at which point thetraders won't pay for them anymore)
Alternatively, items you constantly buy, and never sell gain price, so the gold ore you bought at 100% on first time will cost 140% on second, and 165% on third time.
This wouldn't even require very hard processing: The previous year treaty is already in memory, and if your trade with the dealer ends before the liason leaves, that info can be used for the changes.
Items you won't sell should slowly rise up to 100%, and items you won't buy should drop to 100%, but not less.
Amount of values changed by trade should propably be proportional to caravans full trade (compare amount to percentage for that caravans gains, not to absolute money), and your negotiator skill should effect it a bit.
This would make economy a bit harder, making the gain from all those rock crafts so much smaller.And it would not require a big overhaul.