никогда таким не занимался, но может будет полезным. получай нужные данные (скорее всего элементы иб) с помощью апи. заменяй классы со старых на новые любыми способами (точным совпадением, регулярками) и сохраняй.
сделать рекурсивную функцию, которая выполняет ajax-запрос к этому скрипту с параметром который будет присваивается переменной iNumPage. в случае успеха и не достижения конца списка товаров увеличить значение параметра на 1 и вызвать функции снова.
не буду утверждать что точно можно одним запросом, но можно попробовать. при выборке разделов сделать референс через onetomany на таблицу элементов и в фильтре добавить фильтр по активности элементов.
в принципе сам неделю назад тоже самое делал, но не одним запросом, отчасти потому что не знал про onetomany.