This cannot be implemented in the script today due to disabled op_codes.
Can you please be more precise as to which parts could not be done? Not that I don't believe you, I just want to see if I can go around them.
Take a look at the
script opcode list. Without the splice operators you have no way to construct the verification of a SPV proof of a transaction. (or to test a transaction to see if its the right one, though that part at least could be circumvented by just requiring the contracted transaction to end up exactly in the blockchain, it doesn't save you from having to verify a spv proof).
"balance" of an address rests in the number of txins it is able to spend. Am I missing or misrepresenting something? How would you rephrase these terms?
I'd avoid ever using the world "balance". Nothing in the system itself keeps any kind of balance or checks any kinds of balance. Txouts are created and consumed (calling them 'coins' is a common convention).
I'd describe what you're asking for is a way to create a transaction which can be redeemed by the agreement of Alice and M, OR Alice after N weeks, or M alone, if M provides proof of a particular coin being created in the chain.