I would like to propose we allow the SETDELEGATE opcode to add arbitrary data after some index in the contract, like say reserve 32 bytes for the address (even though we use 20) and then let arbitrary data be set. We would need to extend the opcode by 2 args.
With that we can use the code to store “immutable” values for the referenced contract, such as admin keys, or a Post-Quantum cryptography public key. I think this can be accessed by calling ADDRESS/EXTCODECOPY in sequence (first validating it is a delegate by checking the first bytes)