We need an exchange BUILT IN to Bitcoin-QT (and FULLY supported by the bitcoin protocol).
I wouldn't go so far as needing an entire exchange in a client because the client can only handle Bitcoin and not other currencies. The client can provide the information needed by a pricing overlay network. The information can be statistically analyzed (throwing out extreme deviations) with the average price result recorded into the block. This is what can be used for product pricing.
Exchange prices would not require adhering to the current block recorded price, but would be psychologically influenced by it.