Suggestion: When you build barracks and other military buildings in a city you should get some small xp for those units over time as they continually train and improve their skills given that the city has the required buildings.
For instance
barracks: Give X amount of XP pr turn to melee units (includes adventurers geared for it)
Archery range: Give X amount of XP pr turn to bow units (includes adventurers geared for it)
Magic guild(Naming?): Give X amount of XP pr turn to magic caster units (includes adventurers geared for it)
Would add another side to leaving people in the cities instead of looking for easy fights to level up on, instead better recruit them, send them to a garrison town and let them train for a bit instead of like now i stick them with the best equipped, highest level groups i got so they wont get slaughtered in the first fight.
Also i would improve this with captured objectives out in the world for instance shards would improve the training of magic users.
Another thing i would add is that instead of just finding people randomly out in the world, currently often a heavy overweight of merchants id like to add, you could recruit them at inns that would seem to be the natural places for people to gather in such a world. Go to a inn and look around for potential people to recruit, would randomly change people every few turns and "recharge" over time.
An extension of this idea would be that once your city reaches a certain prestige level, npc's would be drawn to it as well and hang around in your own pub/inns to be recruited there. The higher prestige, the higher level npc's would be drawn to it (up to a max of level 5 or so), of course prices would increase as well.