Based in part on
https://en.bitcoin.it/wiki/Contracts#Example_1:_Providing_a_deposit. Disclaimer: not tested, I may have made mistakes in designing it.
Alice: spender
Bob: merchant
George: green address service
1. Account setup:
a. Alice and George create private keys and make a 2-of-2 multisignature address.
b. Alice creates, but keeps private, a transaction (Tx1) depositing some funds into the address. She sends the hash of it to George.
c. George creates and signs a transaction (Tx2) refunding Tx1's funds back to Alice, with a locktime of a week or so. He sends that back to Alice.
d. Alice signs Tx2, keeps it, and broadcasts Tx1. The green address is now funded (after a few confirmations).
2. Spending with a merchant:
a. Alice creates and signs a transaction (Tx3) sending money to Bob. She sends the transaction to George. The change address can be a green address like in step 1, or it can be a regular address.
b. George checks that the transaction is the first one spending the output, and that Tx2 isn't valid for at least 6 blocks from now. If so he signs and broadcasts it.
c. Bob sees the transaction, he can then check that it is a green address from a trusted service (Either by querying an API, or seeing the broadcast being sent from George's green node).
d. Done
3. Taking money out
a. If George is still operational and not an asshole, Alice can just use the spending technique in step 2 to withdraw her funds.
b. If not, she has to wait until Tx2 becomes valid, then broadcast it.
4. Refreshing the account
a. Everytime Alice comes online and Tx2 is becoming valid in less than some given time frame (say 2 days), she and George repeat step 1 to create a new green address, and transfer the funds from the old one.
b. Because the funds came from a green address, they can't be double spent, and so the new address is immediately valid to use for spending.
Obviously, all of this needs to be automated by the wallet in order to be usable by people.
There's a sweet spot to be picked for the withdrawal delay and the refresh period. The shorter they are, the more fees are spent just keeping the funds rotating, and the more often Alice has to come online to refresh the funds. The longer it is, the greater the time during which George can cause the funds to become unavailable.
But that's the basic idea. Unstealable, unfreezable green addresses.