почему не подходит вариант с опциями? они по сути для этого и предназначены.
Для реализации автоматического переключения ширины - модуль "связанные опции"
Если их просто будет очень много, то доработай механизм опций. Если их будет тысячи, то сделай в контроллере опций пагинацию, чтобы было комфортно работать с ними.
Делал подобные вещи, но не юзал правда этот модуль связанных опций, писал свои решения. Но в твоем случае он может помочь. Понятно что там будет много опций. Но даже если написать свой механизм такого "цено-размера", то этих цено-размеров будет много для каждого товара. То есть выгода от написания своего варианта невелика