I've been using GTD for 6 months now and the way I've got it set up is to allow both a "context" view and "projects" view, by using Bill Kratz's method, described at the link below. (I think his first name is Bill, apologies if I got this wrong) This approach uses the existing features of MS Outlook and best of all costs nothing (Except your time...)
http://home.comcast.net/~whkratz/id3.htm
To summarise, this approach has you create your Projects as Contacts in Outlook. You can then create a task that has a context using the category field, and a project link, using the contact field.
I then set up 2 custom views in My Outlook task list that use the "Group by box" to give me the view I want. Save each of the views and hey presto!
The other advatage of this, is that I can look at everything I have outstanding on a project on the contact's "Activities" tab and also add tasks for each project right from this form. Excellent when a next action just pops into your head (as they often do
)
You can even create your own custom forms to create a streamlined look (I'd strongly suggest you do this.) I downloaded the sample form on Bill's site and it works a treat for me.
One disadvantage of this method is if you use a PDA. I do (Pocket PC 2002) and I only get to see my tasks without the link to a project when I'm away from my desk. The pig pog method is much better in overcoming this limitation as the project name is listed right next to the task. For me and the work I do, this is not too much of a problem, so I've stuck with the "contacts" method described above.
Hope this helps!