Слушайте, вы, как мне кажется, думаете не в том направлении.
Правда.
Товар в битриксе - строка в базе. Товар в корзине и в заказе - ссылка на строку товара в базе. Вы хотите удалить строку товара в базе, но при этом сохранить все в заказе?
Я не говорю, что это невозможно. Я говорю о том, что это бессмысленно. Сократив одну таблицу, вы раздуете другую, только и всего. Необходимой для вывода информации-то меньше не становится. И она должна где-то храниться.
А чем вам мешает большое количество товара в каталоге? Зачем их удалять? Можете же упорядочить, по разделам разнести. Фильтры и сортировки всякие есть...
Теоретически, вы можете упереться в ограничения хостинга. Но это уже другой вопрос.