Unfourtuantly, there is theoretically no way to prevent people from coding arbitrary data into a transaction. Assume you do have a filtering mechanism. It seems obvious that at any point in the block chain, there is at least 2 legal, non-suspisious, transactions. Using just this, Alice can encode 1 bit of information by saying that the first legal transaction is a '0', and the second legal transaction is a '1'. Transactions can be ordered in a deterministic way (for example, look at them as a giant binary number and sort numerically). The psuedo-anonomous nature of bitcoin means that attempting to filter spamming by the source would not work, as you cannot differentiate a new account that is part of a spam attack from a new account that spent at a bad time.