Is there a way to specify to only include this tx if block x hash = ?
Yes. Use coins mined in that block as one of the inputs.
Any other way to keep the tx on one chain and not the other?
Make double-spend attempts to yourself, sending to a different address on each chain. Since both addresses belong to you, you don't lose anything (except transaction fees) if it fails, and after you eventually succeed, coins from each address can only be spent on the corresponding chain.
Alternatively, if different consensus rules make certain types of transactions valid on one fork but not the other, just create such a transaction.