Вам нужно править пакет запросов в построителе запроса(в процедуре НастроитьПостроитель(тот который используется)). Нужно сделать примерно по тому же алгоритму, что и отбор по количеству. Т.е:
1) Сделать пакет запроса временной таблицы, в котором будут отобраны только те товары, у которых есть цена. С каких регистров цену брать - думаю понятно, товар с характеристиками можно взять из временной таблицы "ВремНоменклатураПлюсХарактеристики". Там уже товар по отбору/дереву.
2) Подправить временную таблицу ВремНоменклатураСХарактеристиками(или еще раньше), чтобы там был только нужный товар(с учетом отбора не только по товару. но и по ценам).
3) Уничтожить временную таблицу из пункта 1, для освбождения памяти.
В этом случае выгрузится только тот товар(и вся инфа), которая нужна, т.к. все дальнейшие пакеты запроса используют данные временной таблицы ВремНоменклатураСХарактеристиками.
Можно еще красивее сделать, чтобы были отборы на форме, но это еще сложнее сделать. Проще через предопределенный параметр в запросе.