I use an app called Upvise - it has a Shopping List module. http://www.upvise.com/
Some old screenshots here: http://handheld.softpedia.com/progScreenshots/Upvise-Shopping-Lists-Screenshot-55119.html
I add and checkoff my shopping list. Then I usually input prices of only the products I'm price sensitive too, things like chicken for example, that tends to swing wildy from $3.99/lb to $7.99/lb. It's only store 1 price in the item page, but I add pricing details in the notes for the product, then when I'm out shopping, I can check my notes, too see if it's a reasonable price. But there's no way it would be worth it to do this for everything.