Unfortunately, it sounds like you might be describing the Travelling Saleman Problem. The good news is that this is a problem that has been studied in tremendous detail. The bad news is that the problem is NP-Hard, which basically means that it cannot be solved in polynomial time.
Having said that, there are many approaches that you can take that will either give you the exact answer for small problems, or for larger problems will converge to a solution that is good, but is not guaranteed to be optimal.
It may seem at first blush that your problem is easier than the travelling salesman problem. After all, you don't need to visit the grocery store, you only need to visit a grocery store. However, I would posit that choosing a path that visits $N$ points of interest in the graph given a set of constraints is strictly harder than solving a travelling salesman problem with $N$ cities. Consider the traditional TSP to be a specific case of your problem in which there is only one grocery store to choose from, and only one gas station, etc. This simplified version of your problem reduces to solving TSP.
Whether or not your problem is harder than TSP, I think that your best bet is to adapt existing TSP algorithms to your specific scenario. While none of these can guarantee the optimal solution in polynomial time, I think that you will find that they can fairly quickly converge to a satisfactory solution in a very reasonable amount of time.