This is the only one I know of and it doesn't have all the features you are looking for.
Recipe Keeper PlusIt's primarily a recipe holder that will create shopping lists based on recipe ingredients.
It will also allow you to add to that list from the standard grocery list items that are built in, and allow you to add additional items to the standard list.
Yes, it does allow you to specify product name, size.
I found it a bit clunky to use, and it looked very win95-ish.
It also included a ton of unrelated things like household budget, a few really stupid games, etc.
They also have
Recipe's Galore, which just looks like a scaled down version of the other program I just mentioned.
http://www.reg-software.com/Recipe.htm
I use my
ToDo list program to make my shopping lists.
I add new items that are not in my master list to the ToDo side and after I am done shopping I move everything to the Done side.
As I run out of things, I move them from Done back to ToDo.
When I am making my full list, I just go down the Done side and move anything I may have forgotten to the ToDo side. Keeps me from forgetting things. Then I just print it out.
It's kind of a primitive way of doing things, but it works for me and I find it faster than any other method I have tried. (at least it's not as primitive as writing it out by hand)