вот оно как
логичнее кодировать список (либо его упрощенное представление) целиком в JSON, а не его куски -- тогда и будет "та же самая сложность", как я обещал
var list = [1,2,3,[4,5],7,8,[9,10,11]];
var list_cookie = JSON.strinify(list);
var list2 = JSON.parse(list_cookie);
но если в результате будут символы ';' и '=', они могут сломать cookie -- их надо как-то экранировать либо весь результат закодировать в base64
а вообще я бы хранил такие большие структуры на сервере, но вам виднее