Как у меня получилось реализовать сложную сортировку каталога товаров в bitrix. В чистом sql это выглядит гораздо проще, а вот с api битрикса пришлось повозиться. Правда мне не очень нравиться, что с таким подходом увеличилось количество запросов к БД, может кто-то подскажет более рациональное решение данной задачи, с удовольствием послушал бы.

Статья: сложная сортировка в bitrix