получаешь необходимые элементы или подразделы с помощью GetList в ***.menu.php, формируешь их в виде массива
Array(
"Пункт 1",
"/punkt1/",
Array("/punkt1/"),
Array(
"FROM_IBLOCK" => 1,
"IS_PARENT" => 1,
"DEPTH_LEVEL" => 1
)
),
далее эти массивы (они же пункты меню ) мержишь в общий массив меню $aMenuLinks.
IS_PARENT , DEPTH_LEVEL дают тебе возможность манипулировать вложенностью