Is this for your home automation system? If so, it is important to realize that the microcontroller only uses about 1mA. The much higher current is only needed for short times when the RF chip is activated to send a command, so the average current drawn from the battery will be very low.
I don't know which of the batteries you mentioned is better, but I think I would use rechargeable batteries to save money and reduce waste.
You cant drain 300mA from 9V battery its to high for that battery. Draining is based on minimum C/10 time and is declared by manufacturer. Use datasheet provided by manufacturer. Normal current for 9V battery should be 10-25mA for continous. Capacity is 500-700mAh based on C/10.
For pulse current can be higher.
Lithium 9V battery nominal voltage is 9,6V
If you whant to drain continuous 300mA this is job for big C and D batteries.