Работа со свойствами типа «Список» - techart/bitrix.tao GitHub Wiki
Самое главное, что надо уяснить - всегда указываем XML_ID для каждого элемента списка, хоть Битрикс этого и не требует. Автоматический ID - автоинкрементный, и на что он нужен - не понятно. Так что если у нас есть список, то в качестве идентификатора используем XML_ID, который и будет у нас значением свойства.
$item = \TAO::infoblock('items')->loadItem($id);
// получение значения
$value = $item['LISTPROP'];
// запись значения
$item['LISTPROP'] = $newvalue;
// сохранение записи
$item->save();
Работа со множественными значениями
Если поле - множественное, то значением является не XML_ID, а массив.
$item = \TAO::infoblock('items')->loadItem($id);
// Получение массива
$values = $item['MULTILIST'];
// добавление нового значения
$item['MULTILIST']->add($value);
// удаление значения
$item['MULTILIST']->delete($value);
// замена всех значений
$item['MULTILIST'] = $newvalues;
// сохранение записи
$item->save();