Instead of using web wallets like Xapo because you can't do that feature on Xapo, mostly on web wallets, why not try to use desktop wallets e.g. Electrum, mostly they have this feature that you can sign a message with the address you want to. Or some mobile wallets e.g. Mycelium they have also this feature only if you have smartphone. So Far that's only I knew that can do what you need.
-snip-
if you wanted to sign a message with your bitcoin address. Better to use blockchain.info for signing a message because it can provide you with a private key.
I guess blockchain.info can sign only on imported address, not those included in HD wallet's address.