1. If I set up an offer e.g. "I'll buy 2BTC for at most $9/BTC", and at some point an offer appears: "sell 1BTC for $9/BTC", will my "buy" offer be executed partially or not at all? What if a "sell 1BTC for $8.9/BTC" comes in
I can only speak about Mt. Gox, but yes, you would buy 1BTC and have an open order 1BTC left.
2. How does the exchange decide, which buy offer to match with a given sell offer? Is it oldest first? E.g. say there are 10 offer "buy for $9/BTC", and one sell offer comes in. Which of the buy offers will be fulfilled?
If you try to buy at $9/BTC then it would buy the cheapest orders first, and buy as many as possible until there were no more at $9/BTC or lower.
So if there was one person selling for $8/BTC for a single bitcoin, and another for $9/BTC for a single bitcoin, and you had an open order to buy 2 Bitcoins, you would buy the $8 and $9 dollar bitcoins, and you would have spent $17 (less than you were offering, which is good for you).
Just to add, I doubt you will be able to buy for $9/BTC ever again, but good luck.