Выводим поля/списки/чекбоксы в карточке товаров, передаём их в общем массиве с другими данными по товару, добавляемому в корзине.
В функции добавления добавляем PROPS:
dev.1c-bitrix.ru/api_help/sale/classes/csalebasket...
Чтобы можно было управлять, например списками, в инфоблок с товарами в свойства инфоблоков заводим эти свойства и задаём им список значений, при выводе на странице выводим эти варианты значений на выбор.
Ну и соответственно в корзине обрабатываем те PROPS, что мы добавили вместе с товаром в корзину.