3 - Per outer quote above, the network should relay, and not drop, double-spends. This makes #2 above much more effective. The actual double-spend transaction is the best alert, because it is signed by the person double-spending. Anything else would require a trusted 3rd party.
As long as the double-spend is relayed in a way that no-one will confuse with a single-spend. They shouldn't be relayed as a normal transaction.
Possibly the alert should embed both transactions. That makes it a neat, clear-cut proof of attempted fraud in a single message. Then again, normally the alert is being sent to the same nodes that the original transaction was relayed to, so perhaps that's not necessary.
no, this is to easy to use for spamming the network with transactions.
Only the first double-spend needs to be relayed; subsequent ones can be dropped because a single double-spend transaction is enough to establish that a double-spend attempt is in progress and alert the merchant. So spamming is limited.
If you want to limit it more, only relay/alert double spends if the amount is, say, at least triple the current dust level. So a spammer can either send a million transactions with 5431 satoshi each, or 333,333 with 16293 satoshi each plus 333,333 "free" double-spends alerts. The cost to the spammer is the same, as is the bandwidth cost to the network. (And the double-spends don't get added to the block-chain so we gain there.) In practice, 16293 satoshi is small enough that thieves aren't going to bother trying to double-spend it, and most merchants can accept the risk that they will.
(We can juggle the numbers depending on the actual cost of the alert, and whatever the dust level is nowadays, but you get the idea.)