Как лучше сделать разделение товаров по складам?
Связь могие ко многим. Как ещё?
В таблице с товарами делаешь колонку warehouse_id куда записываешь id склада. В моделях создаёшь связи и через with в запросе достаёт все товары определенного склада. Документацию читай, там все понятно на примерах показано.