Let me make sure I'm understanding what you say. My tasks/NAs are already associated with Contacts, so you then put the Contacts into Groups such as @computer, @calls, etc? You can then Lookup on the Field Groups to see your list. This seems like an awful lot of grouping/ungrouping to do, but I'll have to check it out. It's also a shared database, so that may not work so well.
Of course it gives you an automatic @calls, since you specify those as calls rather than to-dos.
How do you (or do you) work around the forced date for these items? Do you just keep rolling them over from day to day?