It seems like the only way to sell BTC for products/services is to have the BTC reflect how other currencies are doing. I'm not great in economics but can it ever be stable?
No currencies are stable unless they have a central bank making it artificially stabile. When that is said, the stability will largely be depending on the size of the economy. I do not, however know exactly how to measure the size of the Bitcoin economy, but I assume it should be measured in terms of the total amount sent between people or companies over a period of time (which would be similar to the measurement of GDP).
As the public develops more confidence in the currency and as the currency is used in wider volume (people start buying more and more things with the currency and it starts to change hands a lot) it will start to stabilize.
The current instability seems to be driven by speculation. A lot of people are not using bitcoin as a currency right now but just as some investment to gamble on. Hopefully that view of bitcoin will change, soon.
Not sure why you would want to compare BTC to the USD, though... since the USD is not that stable recently, but that is nitpicking and not addressing the spirit of the question.
The price is a reflection of basic market forces at work: supply and demand. Currently relatively small transactions represent a large portion of the market, so this can naturally lead to some inefficiencies. Nobody can know for sure whether stability will be reached, but it seems likely to me that stability will tend to increase with the number of active users.
Bitcoin is still very new, it is unlikely that it will sit at one price for a very long period of time. When all of the bitcoins have been mined it is much more likely to sit at a stable price.