Да, можно создать механизм поиска, используя представления и выставляя пользовательскую таблицу представлениям через API (здесь есть запись в блоге: http://blog.menhir.be/2008/10/22/expose-database-fields-to-views-in-a-custom-drupal-module/, и есть дополнительная информация, используя модуль расширенной справки (http://drupal.org/project/advanced_help) (установите и просмотрите документацию представлений), тогда вы также можете использовать кэширование представлений.
Моя таблица и поля были бы моим предпочтительным методом, если у вас много пользователей, поскольку таблицы профилей могут быть довольно большими (это может не быть проблемой для вас), или вы можете использовать модуль профиля контента http://drupal.org/project/content_profile и, возможно, сэкономить на работе!
Если вы хотите выполнить полный настраиваемый поиск без использования представлений, вам, вероятно, потребуется реализовать это и кэширование самостоятельно, если вы пошли по маршруту настраиваемого поля / таблицы, но получили бы большую гибкость.