Unfortunately, there aren't very many places to put a hardcoded address. The safest thing is probably to dynamically generate an SSDT with a pointer - then the DSDT can use the pointer instead of a hardcoded address. This is more work, however.
You can even create an "OEM" ACPI table, with std ACPI header, but with custom data inside. OS will ignore it and as bonus you will have it with checksum.
Thanks Rudolf