Сторона данных достаточно проста, используйте поле multilookup.
В веб-части пользовательский интерфейс является стандартным .net / javascript и может быть практически любым, к которому у вас есть согласованный набор правил. Это ваша настоящая проблема - если ваш клиент не примет ни один из стандартных методов множественного выбора (checkboxlist, нажатие ctrl в списке или перемещение элементов между списками), попросите их объяснить детали того, как они хотят, чтобы раскрывающийся список работал ,