How many coins are needed to ensure stability i.e. neither inflation nor deflation? The key to currency stability is to have neither too many nor too few of a currency in circulation. So what is the "Goldilocks" area going to be if Bitcoin really catches on and everybody wants to use it?

Could it turn out that demand will outstrip supply of the coins, resulting in inflation? Has this already happened?

It seems to me that if a popular retailer like Newegg were to begin accepting Bitcoins then this could cause a spike in use and inflation.
This question would be better for Economics SE, if it was still around. But oh well.

You can't really prevent short-term inflation and deflation spikes, as anyone with substantial enough money supply could sway the economy until it balances itself out. Also, a similarly rich person could cause the Bitcoin to rise and fall in value in a pump-and-dump cycle by buying Bitcoins over a long period of time, and then spending them all at once for profit. Rinse, repeat.

For a long term, you'd need to generate Bitcoins at the same rate as the Bitcoin economy grows. As the value would be really hard to estimate, setting it in advance would be impossible.

The main way I can see Bitcoin having a stable-ish value while allowing for the economy to grow and shrink would be through the use of a system akin to Digital Coin. Generally, the idea is that everyone could be creating their own currency that would be exchangeable for Bitcoin at a varying rate. The rate would vary based on the supply and demand of the private currency. There are a few mechanics to encourage people to use the private currencies, which I won't go into detail here. In this scenario, Bitcoin will be used as a standard of value - meaning everything will be compared to Bitcoin, but actual Bitcoins wouldn't be spend under normal circumstances. This way, Bitcoin in most cases wouldn't undergo inflation, but the economy built around it could.