Придется по программировать.
Учебники: [URL=http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php]CIblockElement::GetList[/URL] и [URL=http://dev.1c-bitrix.ru/api_help/main/general/component20/index.php]компоненты[/URL]
Сделайте небольшой компонент "меню коллекций" примерно с такой логикой:
1. Получить все "страны" (фильтр по активности).
2. Сформировать первый уровень меню. Сформировать массив id элементов иблоков "стран".
3. Получить все "фабрики" (фильтр по активности, фильтр по привязке к стране => массив id стран)
4. Сформировать второй уровень меню (через хэш). Заодно сформировать массив id фабрик.
5. Получить все "коллекции" (фильтр по активности, фильтр по привязке к фабрике => массив id фабрик)
6. Сформировать третий уровень меню.
7. Передать сформированное дерево в $arResult
В шаблоне сделать тройной foreach и нарисовать дерево в виде меню с выпадающими субменю.
При клике на "коллекцию" сделать переход на каталог с дополнительным гетом "id колекции"
В каталоге при наличии в гете "id коллекции" добавлять фильтрацию по id коллекции.
P.S. Если у вас "страны", "коллекции" и "фабрики" не замешаны в дополнительном функционале, можно сделать гораздо проще. Создать один инфоблок "классификатор", в нем дерево из секций, первый уровень которого будет страной, второй - фабрикой, а третий - коллекцией.