To me, checking each individual unit in a stack of 20 units for certain upgrades, then checking to see what tech that certain civilization has it a waste of time, and plenty of it. Why not just program the game to show the range when you mouse-over and right click or something - why make players waste the time in a turn-based game? It can't be that hard and other games like civ have done it. Especially considering some of the really supliferous ket-strokes and short-cuts they did add. So it isn't a matter of how easy it is to figure out, but I'd rather spend my time planning strategy or something else game related than checking stacks of units and other civs tech trees, adn my friends I am playing with would not rather wait for me either!
As for limiting the game to be played within certain time or tech parameters: It just seems natural to allow such a thing. If I want to play a game that take place soley in WWII time frame why not let me. The game should be meant to be played anyway the paying customer wants it to be played and as you noted lots of people ask for this feature. Especailly since the game's time line is suspect anyways - if one were to be really picky does it take a unit several hundred years to walk one square in 5000bc? Not really as all the units in the army would have died, and many armys have walked the course of some of these maps in real history in less than hundred or thousands of years. So let us chose to ignore time if we want and just play a game in a certain time period.
Mostly they let it be done in a mod but why make your customers learn to program to do something that is almost built in the game anyways?