This may be out of your comfort zone, but it would be the most efficient method:
http://bobsguides.com/custom-db-tables.html. It's an alternative to having a separate resource for each property (which is relatively slow and wastes space). The application in the tutorial is not that far from what you want. It's quotations instead or properties, but the concepts are all the same.
As the list of properties grows, using TVs to store the various features of each property will make searching slow because TVs don't lend themselves to rapid searches since they involve several different DB tables.
That said, if there won't be that many properties, using MIGX, getResources, or pdoResources would probably work fine and would probably be a lot easier to set up.
It's a good idea to figure out all the different ways you might want to search for properties before starting (e.g., sq. footage, location, bedrooms, baths, min and max price, etc.), especially if you will be using a custom DB table.
It's both a curse and a blessing that in MODX there are about 100 different ways to do what you want.