For the sake of simplicity, let's say they aren't using a third-party for their payment needs, and will keep the Bitcoin. I would then be able to make a direct connection with the grocery store without going to any other node?
Yes.
And if the grocery store's node is well-connected node, you'll be able to pay the bookstore too without opening another channel.
I am just saying that using LN for an one time thing doesn't save on fees or improves the speed of confirmation.
I think of LN as a Bitcoin niche market: it's still small, but has the potential to grow a lot. My one time testing lead to currently having several wallets installed, each with a few bucks worth of LN sats in there. Whenever a site (such as a webhost) accepts LN, I use it to increase it's use.