2) If you use a Z-buffer when rendering the map, the screen->world mapping should be straight forward, since you have full (x,y,z) data available. Without the Z-buffer, you'll need another way to fill in the missing value. (Without multiple heights, this is not an issue since you know that Z=0). Normally, however, you can make various tradeoffs but that depends heavily on the way you store and render the map.
/Niels