First, I use BoxSweeper to construct an address book containing everyone I've saved correspondence from (I call it "Saved-From" but the name can be anything)
Next, each time I get my email, I filter all email that looks like spam to be lowest priority. I use a tool I wrote, TOLD, to flag email as spam; you can use any anti-spam software.
The next filter that runs checks the email against the Saved-From address book; if it matches, it raises the priority from Lowest to Low. That way, an email from someone I know, no matter how spammy, never gets lost in the lowest-priority spam crud.
Finally, I have found it useful to create 5 other address books (and 5 filters), one for each priority level, that let me assign email from particular frequent correspondents to particular priority levels. The Eudora CMD-K facility is great for adding small numbers of items to these books.For example, all my mailing list subscriptions have entries in my "Priority-3 (Neutral)" address book, and all the people in my company are listed under "Priority-2 (High)". My wife has a prominent listing in "Priority-1 (Highest)", of course!