Just figured out you can kind of embargo cities
This is probably old news to a lot of people, but I'm doing a Trade run, and I decided to try intercepting all the villager parties that go towards a town, initially Quyaz, and buying all their stuff.
This had the effect of preventing the influx of fish, olives and dates into Quyaz, so the city ate through its food stocks and started to starve as if it had just been sieged. After a couple of days the value of food items skyrocketed, I sold what I had bought for an admittedly modest profit, and then moved on to try the same elsewhere. Doing it at Tyal, which feels slightly easier to intercept all the villagers even while being rather overencumbered, and have dropped their food to less than 0 twice in a few days.
The upshot of this is I don't need to shuffle around with an inventory flooded with grain looking for cities that are being besieged to sell to when the siege ends, I can make my own perfectly peaceful siege so long as I have a lot of liquid cash to spend on buying out villagers.