Would a 7805 5 V regulator drain a 9 V battery?
What could explain such a short battery life? Could it be the 5v regulator? 


As mentioned, the 7805 has about 4mA of quiescent current.  You need to find a data sheet for the battery (Eveready has nice battery datasheets, if you're using an alkaline cell).  It's probably no more than 100mAh -- 100mAh / 4mA = 25 hours, so that should say something to you.


  How could I build a long-lasting circuit?


The 7805 is old technology.  There are better newer linear regulators out there.  You should be able to easily find something that uses 10 times less quiescent current, and with digging even less than that.

To use even less power you'd use a buck converter that's specifically designed for low quiescent current -- but I gather that you're not ready to design one into a board at the component level.  There may be a module out there that'll do the job, but you'll need to shop around for it.  TI does have some buck converter modules, but you'll want to pay a lot of attention to their capabilities, both for maximum current delivery and quiescent current.

To use less power yet, do everything that you can to minimize the current consumption of your circuit when it is quiescent.  This will require careful use of the microprocessor's sleep function, as well as managing how the board is powered (for example, if it only comes on once every 30 minutes, you may well want to turn off power to the radio and the humidity-reading portions of the circuit).

Measure the current consumption in all modes of operation, and use this to determine which modes are the worst offenders overall, then concentrate on minimizing the currents in those modes if you can.