It seems to me that you will need to collect at least one additional piece of information in order to make the new shopping list feature work. That is "package size." My point will be easiest to explain (and perhaps to answer) by giving an example.
We usually buy Egg Beaters in the 32oz size. However, occasionally we buy the 16oz size. Upon entering this price, the program accurately indicates the new price/oz. However, occasionally there is a sale of three of the 16oz size for nearly the same price as one 32oz. That alone presents a problem in tracking the comparative price/oz. But it seems to make it difficult to indicate which package to buy when making a shopping list. Currently the only way I can see of getting around this is to create a new item for the 16oz package. However, then I don't have a direct comparison of the price/oz of the two different sizes of the same product. It seems that collecting a field called "package size," and integrating it into the price comparison, would allow me to specify, in the shopping list, which size I want to purchase.