Это очень интересная задача. Она многогранна.
Сразу ответ:
1. Писать кастомный скрипт, делающий первую комплектацию главной, вторую ведомой.
2. Писать еще более сложный кастомный скрипт и добавлять понятие "Не выбрано" в каждый select, блокировать добавление в корзину, если хотя бы один select не выбран. Фильтровать значения в остальных select'ах при выборе других. ( реализовано на http://nefertiti-gsfr.ru/product/plate-p-361-2-63155/ ).
----------------------------
Ниже немного о логике вещей:
Например, представим ситуацию, что у вас 2 характеристики Цвет и Размер. И вы желаете, чтобы при выборе цвета, отсутствующие размеры скрывались. Сразу возникает вопросы:
- Почему вы думаете, что пользователь решил начать выбор с цвета? Может ему проще с размера начать выбор?
- Как пользователю узнать все возможные размеры, если при выборе цвета он видит только часть размеров?
Ответы на эти вопросы по сути разваливают возможность простого (первого варианта) решения проблемы.