Can there be 100% change transactions? Is it possible to send 100% of the funds from one account to the exact same account? 

Essentially, such an operation would be a NOP, but could be used as "proof of ownership" (e.g. by adding a comment with the transaction in reply to a proof-of-ownership challenge).
Yes, the output address can be chosen entirely independantly from the input address. So you can send all the money from one address to itself if you don't pay transaction fees.

"Proof of ownership" can be done easier and faster though, without performing a transaction at all. You can just use the private connected to the address to encrypt a random message from the other person. She can then decrypt it with your public key and assert that the result is the original message (and that the public key corresponds to your address). This process is called digital signing and actually happens when bitcoins are transacted.