Flashing methods vary by phone, so the method you'd need to follow for the G1 will be different from mine. These three links should get you on top of it quite quickly.
In my experience, the Titanium Backup app proved most useful in storing away all my data, and after rooting your phone, Koush's ROM Manager provided a way to back up my original firmware just in case I ever wanted to go back to it.
I'm not the person you're asking here, and I don't know the answer, lol, but the number one reason I'd install a custom ROM is to get rid of the bloatware that's taking up my phone's precious internal memory, and no doubt its battery life too. ^_^
Speaking of internal memory, that's an issue you're very likely to have on a G1, which only has 74MB. According to (http://androidandme.com/2009/08/news/t-mobile-g1-owners-dont...), that's the very reason there's no official upgrade to 2.2. Even if CyanogenMod somehow fits Android 2.2 on the G1, how much space does it leave for apps? O.o
Yes, there was a slight increase in battery consumption after the upgrade. However, this was more than made up by all the other functionality flashing gave me. Though I haven't tried it myself, you can customize the clock speed of your phone to optimize battery life, if that is crucial to you.
Getting rid of bloatware is one great reason to flash a custom ROM, and in this category I include Samsung's Touchwiz, Motorola's Motoblur and HTC's Sense themes. Though they look visually attractive (at first glance) they are the number one reason these companies don't upgrade the firmware - they are just unable to upgrade each version of the customization for each phone they release.
Regarding internal storage space limitations, the custom ROMs allow you to store your apps on your microSD card, thus removing the limits faced by the G1 under v. 1.6. Notwithstanding the link @rocketnia referenced, I'd say Gingerbread 2.3.7 should pose no problem for your G1. Why, because Koush (Koushik Dutta) wrote up the how to of flashing the G1, and Koush knows something about flashing ROMs (he's the author of ClockWorkMod and ROM Manager, both wildly successful Android apps).
The new ROM will also open up your phone to all the latest apps which just won't run on Android 1.5 or 1.6. Besides, CyanogenMod is really well designed and intuitive, far more so than HTC Sense or Samsung Touchwiz (I haven't had much experience with Motoblur).
"Yes, there was a slight increase in battery consumption after the upgrade."
Oh, drat. I stand corrected.
"I haven't had much experience with Motoblur"
Well, then maybe we make up for each other's inexperience a bit. You know way more about flashing ROMs than I do, and I've been getting by with Motoblur, lol.
"the custom ROMs allow you to store your apps on your microSD card"
Are you just referring to Android 2.2's "Move to SD card" or something more comprehensive than that?
Even if I could move the executable parts of an app to the SD card (as I can't do with 2.2), I might not want to if it causes the app to terminate when I mount the SD card from another computer over USB. Of course, for certain apps that might be more than okay (e.g. games).
'Are you just referring to Android 2.2's "Move to SD card"...?'
Yes. And you are right, mounting the SD Card via USB makes it unavailable to the phone, with all the consequences. However, you can avoid the need to mount it by using the Android Debug Bridge (adb) command line tool from the computer to push and pull files, etc. A small price to pay for a taste of the latest Android flavour, what? :)
Regarding the battery consumption, I have to say that I didn't scientifically benchmark the difference. I did tend to use the phone much more after flashing the new ROM so that itself was a contributing factor. My bias was completed by reports of others experiencing a quicker drain, but again, I have to say it has never been a deal breaking drain that ever made me consider reverting to the original firmware.