Вот чтобы вам не переписывать выборку, вам надо было просто расширять процессор web/catalog/products/getdata, потому что там уже прописано все необходимое. Вам же в вашем процессоре надо прописать только это:
if($this->getProperty('hot1')){ $z->innerJoin('modTemplateVarResource', 'hot1', "hot1.contentid = {$alias}.id AND hot1.tmplvarid = 15 AND hot1.value='1'"); }
То есть если у вас передается переменная hot1, у вас будет выборка только соответствующих товаров.
Если у вас вопросы еще останутся — пишите отдельный топик, мы уже Илью совсем заспамили.