Is there a way for a smart contract to safely store (and maybe use) private keys from other blockchains?
No. The Ethereum blockchain is a public, trustless ledger. Everything on the chain can be seen by anyone.
You could encrypt the private key, but the contract would need to decrypt the private key, and people could see that.
At the moment you can not interface with other blockchains from the Ethereum blockchain.