1. Реализуется через таксономию. При создании материала ставите в термин честный 1938й год постройки. Далее если вывод материалов через views — делаете PHP фильтр, в нем берете поисковый запрос (например нужно найти «около 1940»), своим кодом получаете термины таксономии на предмет «1940 год +-5 лет», далее опять же своим кодом получаете ID нод, назначенных этим терминам и возвращаете массивом. В итоге в запрос, который строит views, будет добавлено что-то вида WHERE nid IN (25,26,27,28).
Если вывод свой — еще проще, сразу SELECT с LEFT JOIN.
2. gmaps и location. DEV — ну что делать, либо они, либо самому писать. Помещать именно так: при создании нового типа ноды выбирается кол-во местоположений на карте (т.е. в нашем случае 1) и ставятся доп. параметры, в т.ч. тип значка (кстати тип значка по условию можно заменить хуками). Фильтр делается через views — выбирается тип представления google maps, далее exposed filters (комбобоксы и т.д.).
Далее ИМХО. Риэлтерские сайты лучше на друпале не реализовывать. Мнимое преимущество «о!!! куча модулей из коробки!!» приводит в один прекрасный момент к тому, что для реализации новых «хотелок» заказчика приходится либо писать свой полноценный модуль (что проще), либо вообще выкидывать друпал. Ну или ситуация «сделал-забыл», тогда да, имеет смысл.