У пунктов меню есть раширенная настройка, где можно для каждого пункта добавить доп. параметры
Ну и например у ссылки первого уровня ставишь параметр PARENT = CHILD_1
У ссылок второго уровня ставишь параметр CHILD = CHILD_1
В компоненте меню все эти параметры попадают в массив PARAMS каждого пункта, ну и там в result_modifier.php компонуешь как тебе надо, образно зависит уже от того как ты вывод хочешь сделать в template.php
Пример
foreach($arResult as $key => &$arItem) {
if(isset($arItem['PARAMS']['PARENT']) && $arItem['PARAMS']['PARENT']) {
$parents[$arItem['PARAMS']['PARENT']] = &$arItem;
}
if(isset($arItem['PARAMS']['CHILD']) && $arItem['PARAMS']['CHILD']) {
$parents[$arItem['PARAMS']['CHILD']]['CHILDS'][$key] = $arItem;
unset($arResult[$key]);
}
}
Если надо больше 2-х уровней, можно это дело в функцию вынести и рекурсивно вызывать