http://www.1c-bitrix.ru/images/screens/basket.png
Для решения задачи нужно кастомизировать компонент и шаблон компонента каталога. Сделать выпадающие списки, которые будут содержать значения свойств товара.
Выбранные пользователем значения передавать в метод добавления товара в корзину как свойства товара в корзине. Для добавления товара в корзину нужно использовать метод CSaleBasket::Add()
http://dev.1c-bitrix.ru/api_help/sale/classes/csalebasket/csalebasket__add.php
Стоит заметить, что добавлять товары в корзину нужно без стандартных функций обратного вызова(в документации они описаны), иначе переданные свойства не будут сохранены.