In essence I’m with @Rarebear on this. In a free market, prices tell consumers what they need to know about where and how things are best produced (all other ‘quality’ factors being equal). But that’s part of the problem. In food more than in many other things, ‘quality’ is hard to measure before the fact of consumption. That’s why although it might be much cheaper to buy, say, Mexican lettuce and spinach instead of the same product grown very nearby in California, if the Mexican lettuce isn’t grown to the same quality standards as the California product, then it’s easy to become very ill – maybe deathly so – from eating the cheaper product.
Another problem is that we don’t really have a free market, even in foods, which are one of the freest markets available in the USA today. For example, when you consider what goes into that California lettuce (mainly water, and not that there’s anything wrong with that because all lettuce is mostly water), that product has already been very heavily subsidized. That’s how lettuce grown in California can be grown with water shipped over the Sierra Nevadas from Colorado, then picked and loaded into rail cars and shipped back up the Sierra Nevadas and across the entire continent to your local Stop ‘n Shop (or whatever grocer or chain you prefer) for less than the cost of your local produce stand. In other words, you’re paying the Feds to ship water from Colorado to California – and back – while a relative handful of growers get very rich.
It would be nice if the California lettuce had to compete head to head (pun intended) with your local product, but it doesn’t. Not buying the California product means that you’re going to give it up (to someone who only shops “price”) and support both the California grower and your local guy out of your own pocket.