Знаете, мне не нравится формат 2aaabbbN, т.к. он имеет лишь 999 карточек, а у некоторых магазинов карточек - штук 40000! Был даже один дядка с 1000000 товаров. А 999 опций - это тоже надо! Например, у меня в магазине 350-370 опций. Потому-что там весь перебор цвет-размер для одежды. Поэтому такой вариант не годится. Давайте использовать длинные коды ean13. Код ean13 - 2aaaaaaabbbbN. Я понимаю,что с ean8 мы не создадим коммерческий продукт. А нужно создать то, что понравиться многим и это что-то будет покупать админы магазинов.
Поэтому, думаю, что давайте на выбор (т.е. будет переключатель) ean8 или ean13. Как Вы сами писали: код улетает на сервер и начинается "магия". Так вот вариантов "магий" будет два. ean8 и ean13.
И еще, в базе не должны создаваться никакие доп.поля. "Магия" просто выбирает карточку, а в ней имеет опцию. Такой вот механизм не требует создания доп.поля в базе. Т.е. все поля типа isbn, ean (!), sku останутся не тронутыми.