Thanks for the response mvut.
As for (2) I have the ability to track my remote device such that I could mechanically move an antenna so that it always points towards the remote device. The only potential issue here is that the remote device could appear, to the tracking base-station antenna, to be moving towards or away at up to 40mph.
For(3), I did do some research and have found 'link budget' calculations, but have not found anything along the lines of "fresnelObstructionLoss_db = %Obstruction + ..."
Tonight I tried placing one of the modules, with a 2 dbi antenna, on the roof of my house (~20ft) and running a range and round trip timing program I created with libxbee.
The program sends, from the 'client' a timestamp. The 'server' device simply echos the timestamp and upon receiving the response from the server, I can find RTT. This program also sends an AT command 'DB' to the local XBee every time I receive a packet in order to retrieve the latest RSSI.
Sadly, there was no difference in range when the antenna was inside the house vs on the roof. This test was, however, in a neighborhood and I'm guessing the trees and other rooftops created enough obstructions.
Within a few days, I will try this same ground level antenna vs high antenna experiment in an open field to see if there is a difference.
One thing that was disappointing to me was that the largest RSSI reading ever got was 80. If I'm not mistaken what's advertised for the 10K 900hp module is -110db receiver sensitivity. Anyone know where the 30db are going?