Если доставка будет с двух разных складов (соответственно будут разные транспортные накладные и трек-номера для отслеживания), то я бы делил один заказ на несколько в фоновом режиме (для клиента это 1 заказ). Расчет стоимости доставки соответсвенно тоже бы делал по логике отличной от стандартной (вам её надо придумать, как я понимаю вариант первый - это суммировать 2 суммы доставки, вариант второй - выводить максимальную сумму доставки как финальную, вариант третий - что-то другое).