No, you can't "buy all the bitcoin you want" - it's simply not true. Look, Facebook's acquisition of Whatsapp included $4B in cash. If Whatsapp had said, "but you need to pay us in bitcoin, we'll set the price at the current trading price", then too bad, Facebook couldn't have said yes, because it would be impossible to source that many bitcoins. The total value of all bitcoins in existence is $5B today, and I doubt it could buy up 3/4 of them, including ones that were lost or refused to sell, for any amount of money. Just as there is no amount of money (in any currency) I could give you that you could spend to get 95% of all the dollars in existence into one room to give to someone - because some people will hold out. You just can't get them all. Stores, banks, the rest of the economy, everyone uses dollars. You can't just get 95% of the ones in existence. More precisely, it is "impossible" to get 95% of all dollars into one room. A hundred trillion dollars' worth of other currency and values of various kinds wouldn't come close to letting you buy up 95% of all dollars in existence - at any price.
And there are a LOT of dollars in existence.
There are comparatively VERY few bitcoins in existence.
So this simple example shows that it is absolutely false that you can buy all the bitcoins you want. If Facebook announced that it needed $4B in bitcoins at today's price, then most people would instantly start hoarding it, the price would jump to $10,000 per bitcoin, and ordinary people would be unable to buy it at any price.