I would also like these five additional features but they would have to be added to the blockchain rules and possibly the blockchain representation.
No.
Glad we've settled that.
You can feel free to ignore payments you don't like and weren't made to your specification. Heck, feel free to define some address format that makes your requirements crystal clear. There is no need to add risky complexity to our already very complex consensus protocol to try to force users to not be stupid.
1. Always spend *all* the txouts associated with a particular bitcoin address when spending *any* of them -- even if it means adding completely unnecessary txins to a transaction. This should be the default anyway as it's a good long term strategy for limiting "dust".
This will also frontload all fee payments— e.g. you could make a free transaction but instead you're going to have, say, 0.01 BTC in fees by aggregating up two dozen inputs. Since it's reasonable to expect that fees will be higher in the future this is arguably a rational strategy but in the past users have been _very_ spazzy about fees and have been violently angry about them. Do you have any idea how to communicate to people that this strategy is really in their interest?
How do you propose dealing with uncertainty about future reuse? E.g. avoiding the case where you spent all of them but more come?
2. Make all payments by using the SMALLEST number of bitcoin addresses possible, ideally one. Better, IMO, to use a thousand-dollar address to buy a tube of toothpaste than to use "dust" from more than one address.
Not always possible. Where it's not possible ... what strategy do you think it should use? What if it has a choice between re-linking obvious change with coins sent to a previously used address in a result that produces no change, vs not linking but resulting in more jagged change?
3. Always generate a new address for change; never ever allow change from a transaction to be sent back to a txin address.
The reference software already does this. I was somewhat unhappy that the coincontrol UI made it possible to achieve other behavior.