Логика Битрикса подразумевает именно использование компонентов. Иногда, даже там, где это избыточно.
В зависимости от постановки задачи, описанный функционал можно решить как самописным комплексным компонентом, так и стандартным.
Коснусь второго варианта (ибо, не смотря на свою избыточность, он экономит время, а время - деньги). Если клиент может свободно редактировать указанный список и никто ему не указ, что хранить в этой "таблице", я бы рекомендовал использовать комплексный компонент bitrix:iblock.element.add. Или, как вариант, взять этот компонент за основу и перепилить.