All batteries have an internal resistance. You can imagine it as an ideal voltage source with a resistor in series with it. So the more current you try and draw, the more voltage is dropped across this resistance. In turn this means the voltage you see across your circuit will reduce. At some point you will reach an equilibrium.
Imagine the following:
simulate this circuit – Schematic created using CircuitLab
If you have a 9V battery as you say, then Vs=9V. In the schematic, Rs is the internal resistance of the battery, lets say it is 50Ohms (About realistic for a PP3 battery).
Now when you have no load attached (Rload = Infinity), then there will be no current flowing and so no voltage will be dropped across Rs (Ohms law). So Vload would be 9V. If you measure the battery with a multimeter, you would see 9V as the meter has a very high resistance.
Now lets say you attached your 9Ohm resistor, Rload. This would mean you now have Vs driving a circuit containing a 50Ohm resistor Rs and 9Ohm resistor Rload. Using ohms load, you can find that
I = V/R = 9/(50+9) ~= 150mA. What gives? Surely there should be 1A flowing through your load as you calculated.
Lets look a bit further. Using ohms law again, you can find that
Vload = I*Rload = 0.15*9 = 1.4V. Ah, there we go. Essentially what has happened in the voltage at the terminal of your battery (Vload) has dropped significantly, so now you essentially have a 1.4V voltage source driving a 9Ohm resistor.
If you lower the resistance, the current will go down and the load voltage will go up.
If you were to instead use a 9V power supply which had an internal resistance of say, 0.1 Ohms, you would indeed get almost 1A flowing through your resistor. Notice I said almost. Why? Same reason as the 9V battery example, the load voltage will drop slightly due to the internal resistance.