One more question about scripting
Bitcoin script has no way to get information about the outputs of a transaction spending it, so no, neither of those things are possible. If you want withdrawal only to a specific address, why not just send to that address the desired amount in the first place and save yourself a transaction fee?