Есть примеры как это решалось, лучшее мне нравится из sharepoint:
Общие свойства хранишь в одинаковых столбцах, для уникальных свойств - заведи уникальные столбцы.
+ 20 столбцов не испортят тебе таблицы товаров, даже если записей будет больше миллиарда.
в одной бд видел делали таблицу типа tblProductAdditionalFields
key, FI1,FI2, FIN, FN1,FN2, FNN
типа I для инта н для умерика и тд.
ну и там есть еще чето для перечеслений и "комбобоксов"
в результате в каждого продукта может быть еще 120 доп полей)))