I've been thinking about this for a while. And I'm not the only one... other people have been using SMS to read email on their smart phones instead of using things like the AndroidGmailApp or an IMAP program. Or, possibly in combination with those. It makes me wonder - why isn't Android designed to allow SMS to notify applications of new data instead of having them perform periodic polling? It would provide a better user experience and save battery.
I haven't looked to see if this is a possibility, but the Google engineers could certainly make it one. Let's call the app AndroidGmailApp to avoid any confusion (this being the gmail app that runs on the phone). Google would create a filter for people that want to use this, (they'd probably make it run automatically for people who setup AndroidGmailApp on their Android devices). The filter would send a SMS notification to the phone when a new email arrives, and contain the first bit of the email. AndroidGmailApp when configured would put a hook into the SMS engine. The android's sms engine when receiving this specially formated message would notify AndroidGmailApp. At this point, AndroidGmailApp has a few decisions to make. AndroidGmailApp can notify the user of the new message (if configured). AndroidGmailApp can sync, although it probably only wants to do this if it hasn't synced in a specified amount of time (or perhaps never - we'll get to that). If the user starts AndroidGmailApp and it hasn't synced since the last message was received, it can sync during load - no need for the user to press the refresh button. If the user is running AndroidGmailApp and a new message is received, AndroidGmailApp can sync right then. The refresh button can go away entirely. For the most part, there's no need for AndroidGmailApp to ever sync unless it is running.
There might be exceptions to this "don't sync unless running" rule. For example, users who travel into areas without coverage may want to sync in the background so they can read entire messages when offline. In this case, when AndroidGmailApp is notified of a new message (and it's not in use) check how long it has been since the last sync. If that time is greater than X, where X is defined by the user, it can autosync now. Otherwise, set a timer to wake up after (X - time since last sync) so we're sure the sync will be performed eventually. This prevents from synchronizing for every single message received.
Perhaps I should say it, the SMS engine shouldn't display these messages as standard texts to the user. Oh, and this probably shouldn't count as a phone wake up either - in terms of other applications piggy backing off of the phone being awake, that would likely defeat the battery-saving advantages.