You don't really want to be bloating the transaction history, which everyone has to carry around in the block chain, with peoples comments as well.
If you need to know who a transaction is from you can:
a) create a one time receiving address
or
b) get them to submit their sending address and check for transactions from there. (send from specific addresses would need a client modification but not a protocol modification)
Does the protocol support sending from a spoofed address?
Only if you have the private key, in which case it's not really spoofed.
(I'm talking Bitcoin addresses, not ip addresses.)