Решил поделиться решением, т.к. всю ночь рылся по форуму и ничего толкового не смог найти.
Т.к. метод ShowShop() может принимать в качестве $param['current_group_id'] массив групп, то можно сделать следующее:
$par['shop_groups_parent_id'] = $GLOBALS['shop_item_path']['group']; // Тут мы определяем родительскую
$rows=$shop->GetAllGroups($current_shop_id, $par); //категорию для метода GetAllGroups() как текущую,
//а здесь вызываем этот метод и пишем результат в массив $rows
$gr = array(); // будет нашим массивом дочерних групп
$i=0; // счетчик
foreach ($rows as $row)
{
$gr[$i] = $row['shop_groups_id']; // записываем в массив
$i++;
}
$param['current_group_id'] = $gr; // Присваиваем текущей группе массив групп и
$shop->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys); // вызываем ShowShop()
Решение возможно не самое грамотное - не гуру РНР, но работает и, как показали тесты, работает хорошо.