Isn't it easier to just make units that are built in high-bonus-xp cities cost more hammers? After all, making highly-trained troops takes a lot more time and effort than just rounding up some "volunteers", quickly explaining to them how a sword works ("hold it on this end, insert the other end into your enemy") then sending them into the battlefield. Concrete suggestion: for every +1 bonus Xp that a unit starts out with, the cost of the unit should be increased by 3% (or perhaps 5%). Would also decrease unit spam as the game progresses. It would also make a choice between quality troops and quantity of troops (human wave strategy). Right now there is no reason not to build your whole army in the city that gives the most xp bonus.