Your definition is bunk. We can't cryptographically verify intent for any given transaction, and until that becomes possible you will have to come up with something better.
You asked me about my definition of spam, not how we can limit it by using code.
Fees are in place and your worries are unfounded. If we ever get so many transactions that the network can't process them miners will focus on the ones with highest fees first, which will give spam attacks diminishing returns as their volume increase.
I've been dealing with spam and dos since the mid-90s. I know pretty well when my worries are founded or not and when assurances are crap.
We disagree on the importance of the network to process as many transactions as it can - unconditionally (whether they are spam or not). The creator of the system didn't make the system to get abused and destroyed by spam.
I also disagree with the idea that other people have on what constitutes "growth", like if we make 10mb blocks and fill them tomorrow morning with crap, that it would "mean" that "bitcoin is somehow being used at 10x rate", which would in turn "mean" it's "network effect is better" and thus price should increase. This is bullshit. Spam isn't growth. Like hitting the reload in a web page 100.000 times isn't "page traffic" (compared to unique views).
I would definitely like the network to be able to process as many txs as it can, but only by paying some serious fee as not to have the system abused. That's the only rational thing to do.
Unfortunately, the political situation and animosity is such that I doubt core devs have the ability to propose fee increases to deal with spam. Perhaps they could create 2-3-5 block increase proposals that could go like that:
2mb effective blocks with unchanged fee structure
3mb effective blocks with min fee X
4mb effective blocks with min fee X+y%
5mb effective blocks with min fee X+z%.
...or something like it.