Вам нужно найти участок кода отвечающий за показ цены в шаблоне компонента catalog.element (детальной страницы товара) и в catalog.section (список товаров)
и заменить его на свой код, например, делаете условие, что если цена равно 0 то выводится текст "Цена по запросу"
А вы значение фильтра указали в catalog-section?
"FILTER_NAME" => $arParams["FILTER_NAME"],
Сравните с включаемым файлом section_horizontal.php вызов bitrix:catalog.smart.filter и параметры bitrix:catalog.section
А что вам мешает вывести в корне каталога все товары с помощью компонента catalog-section указав настройку выводить все товары если не указан раздел. Тогда и фильтр будет работать штатным образом.
Попробуйте использовать CIBlockElement::SetPropertyValues
Прежде чем на крон вешать сначала добейтесь работоспособности кода на тестовой странице сайта.
Проверьте наблюдается ли такая проблема если применить системный шаблон каталога, если проблемы нет, тогда в комплексном компоненте отключите на время вывод кастомизированного шаблона catalog-section, используйте системный, и посмотрите будет ли проблема. Больше похоже на проблему пропущенного или не закрытого элемента верстки
Lorem Ipsum, Битрикс поддержку этого не заявляет, смотрите пункт 7 https://1c.1c-bitrix.ru/ecommerce/tasks.php
7) Выгрузка информации о контрагентах на сайт интернет-магазина из 1С.
Выгрузка офлайн-заказов из 1С
Возможность автоматического создания оплат в 1С, если заказ оплачен
"группировку по имени+цена" - это торговые предложения
Нужно писать скрипт обработки экспорта, в котором будут нужные вам товары объединяться в товар с торговым предложением, либо руками в админке переделать товары