This is a terrible idea, IMO. Miners and full nodes should be able to decide which transactions to relay and include in blocks, and which transactions to not. An option to set a minimum amount per output or transaction should be built in to the client. So miners, if they believe transactions below a certain size to be dust, should set the option to not propagate transactions below that certain size.
Uh. You realize your "should" are describing the change here, right?