Update 2009-02-05: Now that I've been doing this for a few years, I've refined this tip and its subsequent updates into an article at eHow: How to use Thunderbird to get things done.
In the past few months, I've been trying to apply some of the principles of David Allen's Getting Things Done to my own work habits. This article describes how I've been using a combination of Thunderbird's labels and saved searches to facilitate handling my email inbox in a GTD fashion.
Aside: Although I'm doing this on a Mac, there's no reason it shouldn't work with Thunderbird on any OS, once you account for minor menu differences across platforms. Also, in principle it should work with any mail client that supports labels and saved searches.
GTD is heavily dependent on keeping track of "next actions", essentially a comprehensive to-do list. The idea is to know what you're not working on so you can make reasonable choices about what's important to work on right now. The concept of the "In" box is core - for every item you take out of "In", there are only a few options: toss it in the trash, decide on a required next action, or file it for reference. (Technically, there's also "waiting for somebody else" and "defer until later", but these are next actions too.)
Let's start with the labels. (Thunderbird -> Preferences -> Display) I've assigned my labels as follows: Delete, Archive, Action Required, Wait, Defer. Since Thunderbird assigns these as keyboard shortcuts (1, 2, 3, 4, 5), I can go through my inbox and quickly triage items with an appropriate label. The color coding makes it easy to pick out stuff that needs attention.
Why not just delete items rather than flagging them? Mainly it's an efficiency thing. If I'm punching numbers to triage stuff anyway it's easier to use a number to flag a message for deletion. I'll come back later and wipe them out en masse.
Okay, so this is simple enough so far. But pretty soon you've got this inbox with lots of pretty colors, and there will inevitably be items needing attention that are pretty far back in the list, interspersed with all the stuff you just want to keep around.
That's where saved searches come to the rescue. It's fairly straightforward to see that you can set up a saved search for each label, and in fact I do have ones set up for "Inbox-Action Required", "Inbox-Archive", "Inbox-Defer", "Inbox-Delete", "Inbox-Wait", as well as an "Inbox-Untagged" with a "Label is None" criteria.
That helps, but it still keeps me looking in a couple different places for things that might need my attention. So I also have a saved search I call "Next Actions" to keep up with the stuff I need to pay attention to. The criteria for this one is: "Match any of the following: Label is Action Required; Label is None; Label is Wait". See what that does? Anything I need to do something with, anything I'm waiting for somebody else to do, and anything that I haven't made the first decision on, all shows up in one place. As soon as I mark something as Archive, Delete, or Defer, it disappears from this view on my next refresh. So my to-do list is always up-to-date, always right there. As soon as a task is complete, I can mark the message as Archive and forget about it.
Creating a to-do item is just a matter of sending myself an email. So I can do it from my cell phone, a web mail account, whatever, and I know that it will wind up in the right place. It helps that I'm using this for an IMAP account, so the label state is saved on the server. The net result is that as long as my desktop and laptop systems have the same names & colors for the labels, it doesn't matter which machine I'm using.
Also, I should note that GTD was written from a handling of physical stuff perspective -- like needing to decide what to do with specific pieces of paper. There's one fundamental difference in dealing with email -- you don't actually have to file it. Good search on a pile beats browsing by folder any day, if you're looking for something specific (which is the only reason I've ever had to look back at old emails). I've been using the system described above for about 6 months now, and for all intents and purposes I've stopped using folders in favor of search.
So why do I think this works so well? It's fast - triage is a single keystroke. It's automatic - the saved searches are there to be used whenever they're needed. It's efficient - there's no moving items to folders, no filters, etc. It's distributed - using an IMAP server lets me use multiple machines to track status. And most importantly, it keeps the stuff that requires attention up front & in-your-face, letting me focus on the stuff I need to do.