I like your suggestion. I think generally system can be like this.
1) Certain races specialises on certain materials and goods. Gnomes bring mostly rocks and ores, elves - wood and exotic animals/plants, humans - grains, fishes. Goblins however can concentrate on trapped evil creatures, caught in their areas.
2) All the traders initially prefer to sell you most finished goods at relatively high prices rather than cheap raw material. Like ancient chinese, who sold their silk to all the world, but never sold silkworms. So if you want to get llama, you need to make merchant like you first, bying his goods (100 llama wool socks for example) for some period.
3) Generally set the scale of relations with other settlements from 1 to 5 where
3 - initial value, you can trade with caravans, but they will sell you ordinary finished goods at relatively high prices. You cannot order anything special.
4 - you can order special things from merchants. (Animals to create your own source of their products, ore, instead of expensive metal goods, seeds, instead of prepared food/drink)
5 - everything mentioned in section 4, but you also can receive military aid if besieged.
2 - settlment stops to trade with you
1 - settlment sends their troops to conquer you
4) How your rating moves between 1 and 5?
Trading, fulfilling trade requests, trading with settlment allies will increase your rating.
Trading with enemies, killing merchants will decrease your rating.
Trading with "evil" races like goblins/necromants/cobolds will decrease rating for humans/elves/dwarves and vica versa.
5) Adding to Niddhoger proposal, not even world situation affects merchants requests, but also how you fulfill them affects the world. So if you will not sell food to merchants, their settlment can partially or completely die from starvation. And in situation with weapons, the side, that you will support, will have better chances to win.