OK. After much trial and error, I seem to have narrowed down the issue to the Push feature when used in conjunction with my work e-mail's Microsoft Exchange ActiveSync. When I disabled the Push feature for the Exchange account, my phone's battery life returned to normal, and I no longer felt that I had a hot brick attached to my belt.
To disable Push for Exchange, go to Settings > Mail, Contacts, Calendars > Fetch New Data > Advanced > [Name of Exchange account]. Then choose to use Fetch rather than Push for that account.
I left Push on for my Yahoo and MobileMe accounts, and things still work fine.
Hope this solves the issue (for now) for at least some of you out there.