Результат поиска это набор элементов, имеющих определенные свойства.
Этот набор нужно присвоить пользователю, например на highload-блоках.
По крону выполнять для всех пользователей с набором getlist, записывая id новых элементов, созданных за последнее время, равное промежутку выполнения команды в крон, где перед выборкой стоит массив свойств для фильтрации результатов. Если новые элементы появились - отправляем письмо...
-
Если пользователей на сайте мало и большой нагрузки не ожидается, то можно выполнять вышеописанное "на лету" по событию "добавление нового элемента в инфоблок".
Ну, и конечно добавить в интерфейс пользователя - кнопки подписаться, которая создаст записи в highload для последующего getlist