You can only use a password to protect (= encrypt) the private keys. Once someone has those keys he can do what he wants.
Yes, exactly my point. It seems the system would be greatly improved if the sender had the ability to "verify" a transaction. Thus, my money could only be used by me (when I verify it) and then it becomes yours.
Such a system would make the Bitcoin extremely attractive!
That's not technically possible. That is what your private key does - it authorizes a transaction. You can put a transaction password on your client, but that doesn't do anything if someone steals your wallet.dat - because they can just use the wallet.dat in a client that does not have that protection. If you have the private keys, you can spend the bitcoins, and there is to the best of my knowledge no technically possible way to prevent that.