bitrix:catalog по из коробки на главной показывать разделы. если нужно вывести все товары можно или через АПИ 
CIBlockElement::GetList(
 array arOrder = Array("SORT"=>"ASC"),
 array arFilter = Array(),
 mixed arGroupBy = false,
 mixed arNavStartParams = false,
 array arSelectFields = Array()
);
или через bitrix:catalog.section без указание раздела. потом через arFiler можешь передавать значения и фильтровать запросы.