play a bit of space ranger, the best "real world rpg" with economy ever created
second about efficiency... do you really need to SHOW all that happens in every single city?
because if not... you dont really need much efficiency, you just calculate what to do here and there, even every few seconds, nothing huge for processor...
and even if you want all the world to funcion real time you dont really need to do EVERYTHING at once
the efficiency is easy:
you split the assignment of actions on each cycle (or even few cycles) for each city
this way even if you have 200 cities you only check their job once per cycle
you could even split the check between each citizen... since you dont need the merchant to work while the smith work, while the baker work, you can make them work one by one, or make working simple enough
anyway i dont think its that much work at all for a modern processor, in the end its pretty much a few checks like:
baker has floor?
someone wants more bread?
baker is already working?
for stuff like prices you can adjourn them once in a while, at the end of the day, or week or similar