по хорошему, наверное, надо реализовывать такой функционал:
1) не отображать для выбора склады, на которых нет ни одного товара из заказа
2) к описанию пункта самовывоза добавлять, какие именно товары из заказа есть на этом складе
3) если придется забирать товар с нескольких складов, позволить множественный выбор типа два склада из четырех.
4) проверять этот множественный выбор на предмет того, что все товары на выбранных складах есть, только после этого выдавать стоимость доставки, даже если она нулевая
5) разделять товар в заказе на две отгрузки
6) уведомлять покупателя что и где он может получить
Можно было бы написать модуль такой для маркетплейса, но, наверное, в реальной жизни это экзотика, спрос будет почти нулевой.