Не совсем понятен вопрос, да и в opencart не силен. Тем не менее...
Функция допускает наличие второго аргумента (количество):
onclick="cart.add('<?php echo $product['product_id']; ?>', $('select').val());"
/*
тут важно получать значение нужного селекта
*/
Если же вы собираетесь передавать какой-то другой параметр, то нужно найти эту функцию и перепелить чуть-чуть.
'add': function(product_id, quantity) {
var dopparam = $('тут что-то получаем').val();
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1) + '&dopparam=' + dopparam,
dataType: 'json',
beforeSend: function() {
$('#cart > button').button('loading');
},
success: function(json) {}
}
Только потом не забудьте объяснить корзине, что ей с этим дополнительным параметром делать.