1. поиск товара по нескольким критериям (в том числе и по бренду, каждому бренду соответствует своя папка в каталоге). Каталог на отдельной странице
Я сделал это следующим образом:
Фильтр по свойствам товара вывел в включаемой области. в шаблоне фильтра поменял action, к примеру action="/s1/e-shop/goods.php". А на странице goods.php опубликовал компонент Элементы раздела (bitrix:catalog.section). Он выводит все товары не глядя на их разбиение по разделам. Компоненту передается значение фильра - выводится только то, что было задано в фильтре. Есть только нюанс. Перед компонентой Элементов раздела я опубликовал компонент Фильтр, и сделал его невидимым <div style="display: none; visibility: hidden;">. Он как передаточное звено, воспринимает параметры, которые передает первый фильтр.
2. Вывести самые продаваемые товары
вроде есть компонент Топ, или его функционала не хватает?
3. вывести последние новинки (отмечены отдельной переменной в каталоге), ограниченное число (допустим 5) штук
Попробуйте заглянуть сюда http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php
особенно в комментарии.
4. Возможно вывести спецпредложения (тоже отдельной переменной в каталоге есть "спеццена")
Таким же образом, по признаку спеццены.