Suppose I have a certain number of bitcoins kept in cold storage. Is there way to prove that I control those coins, or any coins totalling a certain amount, to another party without transferring them?
You can sign a message with your private key. But you would have to reveal your public key so that the signature is verified. But that kind of defeats the purpose of cold storage. You can just as well send a small amount from that address to the other party.