I guess it could be done but it's tricky. The way a sketch loading bootloader works is this
1) ATmega is connected to power
2) Bootloader waits a second (or two) for a sketch upload to start
3) If no sketch upload started, load existing sketch and run it.
That is why the reset line is used. It literally resets the ATmega so the bootloader starts from step 1.
You could put something in your sketch so that you can tell the ATmega to reboot on a specific message, but the Arduino IDE doesn't know anything about your message, so you will have to do it yourself. Tell the ATmega to reboot, then start the sketch upload.
Also you will have to add support for this "reboot" message in all your sketches. If you forget, then you will have to go and manually reset/upload, or connect it to a serial connection with reset support to get the corrected or new sketch uploaded.
There has been some discussion of an RFM12B bootloading firmware, which would allow you to "beam" the sketch over the air, but such firmware is tricky.