Тут нужно смотреть на конкретные цели и задачи. Я не возьмусь предполагать каким образом все это организовано в ЯМ. Но скорее всего подобные вещи делаются следующим образом:
1. Таблица options.
айди_опции, описание опции. (айди_опции уник.)
2.Таблица options_accepts
айди_опции, допустимое значение (айди_опции+допустимое значение уник.)
Тут можно поспорить о модели данных, ведь опция может содержать как допустимые конкретные значения, так и диапазон допустимых значений (но это снова тема для отдельной дискуссии).
3. Таблица product_variant_option_value
айди_варианта, айди_опции, значение. (айди_варианта+айди_опции уник.)
"Ну или как-то так"(с)...
Нечто подобное (с небольшими различиями) организовано во многих "крутых" (читать - популярных) CMS для интернет-магазинов.
@bogomazov_vadim похоже, я плохо поставил вопрос. Я не новичок в JS и jQuery. Как получать и хранить свойства элементов я знаю. Сейчас у меня так и происходит. Все это хранится в объекте. Свойства более сотни элементов попадают в этот объект по разным хитрым условиям. А вот теперь я хочу избавится от этого, как мне кажется, ужаса.
Как я уже говорил, хреновый я составитель запросов. Но мне кажется, что в этом случае будут удалены не только дубликаты, но и поля не имеющие дубликатов.