I also like to watch old maps and compare to the streets of today.
In Germany there is a complete detailled map of 1893, as overlay for Google Earth:
http://rumsey.s3.amazonaws.com/Germany1893.kmz
It’s a nice feature, especially with the vector overlay of the current street system over the old raster image. I also created some Overlay-Maps from own raster maps (georeferenced corners, KML-Overlay).
The original 1893 map is available as ECW georeferenced image, or as GeoTiff. I think there must be a way to use such maps as JOSM-Background map (set up local WMS server etc.).
David Rumsey collected many other historical maps on his website:
http://www.davidrumsey.com/
The good news: the copyright expired. The bad news: many old maps do not have an exact cartographic projection.
I think the best solution would be to clone the OSM-Datebase first. The landscape features (sea, lakes, mountains) don’t change over a long time. Even many current streets just evolved out of very old streets. Many old towns existed in the medieval time.
Default tag: existed=[unknown … today]
From this default database, people could derive historical maps.
existed=[approx 1200 … today]
or create new roads wit
existed=[unknown … approx 1700]
something like that.
A renderer then just filters out the objects that are valid for a certain time.
So you can create historical maps.
I think the complexity is too high for the main OSM database. It would slow down processing and flood JOSM with objects that are not relevant today. A separate database would be more suitable.
But the exists/existed tag is also quite interesting for current objects. You can label an old monument with it. Or and old roman street that still exists today. However, the tag definition should be quite exact to allow automatic processing. How to handle ranges, uncertainty, approximate values …