Can I cancel an offline transaction with this approach? (opposite of nLocktime)
The approach is correct. You don't have to use different private keys, you can use the same private key and same address for each of the control outputs.