Integrating inventory across various grocery stores would be ideal, but it seems like a big undertaking not to mention it clashes with the shopping experience (e.g. customers keep items in their shopping carts for long times)
I like the idea of warehouses, though the requirement to stock items seems restrictive, kinda like when Google Shopping Express launched - it had such a small selection of products. One potential middle ground... why not use a warehouse/centralized location to aggregate the requested groceries, then have a separate system to dispatch the groceries to the customer? By aggregating from multiple grocery stores, you minimize the risk an item is not available.