One more thing... in the case of Knights, I don't think they should be "produced" in the cities. I never particularly liked the idea of "producing" units especially in cities, but I suppose it makes some sense...
The production time represents getting the equipment, looking for enlisting soldiers, or conscripting if necessary even from the countryside, bringing them into the city, the time and energy put into training them. And for every era except the Medieval Ages, this makes sense...
In the Medieval Ages, (and maybe only for Knights because this need not apply for Archers and such), but I think that it should be determined by your cultivated land and your noble class. The more manors you have, the more Knights you get...
I mean, for many cultures, from the Japanese, to the Europeans, to China, to South Asia... there's usually been an elite class that could be tapped into as support for the military... and even if they were not necessarily doing the fighting themselves, they had the resources to call up armies. And even if for some civs they are not necessarily the elite, there have still be sort of independent forces a ruler could call upon for aid.
But maybe they should only appear when called upon in times of civil war or war against another civilization? And sometimes even, it is these ambitious nobles who start the civil war... and those knights rise up from your cultivated lands, and you must have loyal knight followers to subdue them.