(Script) Is it possible to create a transaction that is spendable to only one address?
You cannot specify the subsequent script used when the current script is unlocked. The script that bitcoin is sent to has only two states, locked and unlocked. Locked means it doesn't move, unlocked means it moves whereever the one who unlocked it wants.