I think this will only be limited by your familiarity with CMS systems and their associated plugins and modules. I've dabbled about looking at solutions to this sort of thing myself. I'm currently putting together a similar system for a non-realestate purpose but it has a lot of the same requirements. I'm using Drupal for mine however that's only because it is my tool of choice. I'm sure experts in other platforms would be able to do something similar in their platform of choice (WordPress, Joomla, Expression Engine, DNN, etc...).
What I'm doing is creating a custom type of content called a "Property" that has a title, description, pictures (with fields for title and alt so I can use them as needed). I'm also using a Google Map API assisted module so I can put in the address or long/lat coordinates and show the property on an embedded GMap.
There's a lot more to the system, including using a system called taxonomy to categorize/filter different properties and special views so you can drill down from the country view to views of specific regions as well as some custom code to enable street view but that should give you some things to consider. Good luck with your project!