1. Is this even possible? Can an ethereum address be programmed to do something when certain blockchain conditions are met? All without relying on a 3rd-party to have to observe the blockchain and reveal the address private key manually.
How to let an ethereum address reveal its private key when it detects specific contract conditions?
You can have some dapplication which is watching contract events and waits for the particular conditions to be met. When conditions are met it will request private key from some storage and then reveal this private key to smart contract. If this scenario is "relying on a 3rd-party" then answer is no, this is not possible.
Can an ethereum address be programmed to do something when certain blockchain conditions are met?
Smart-contract has access only to its internal state and the blockchain meta-information(such as latest block hashes, timestamp, block number)
If your conditions relies on any other data it's impossible to implement them without 3rd-party process.
Is this even possible?
All contract data is public. If the contract can produce private key in any possible way, you can execute this process before the conditions are met. Again, you need to rely on 3rd-party process.
It's not possible. Otherwise someone could run your contract on a testnet and simulate the conditions needed for it to release the key.