Almost static address can be achieved when the developer use global or static variables.
While this was somewhat popular in the old days, today it is very rare and also considered a bad practice. Furthermore, features like ASLR are used to prevent an observer to exploit known static variables by relocating the image at a random address (details omitted as ...
I want just to add a quick receipt about qemu-user and ptrace.
Start qemu-binfmt service on the host to register qemu-user binaries.
Use buildah to create amd64 container.
Install latest qemu inside this amd64 container, kernel will use them instead of host.
Build some toolchain inside amd64 container.
Use regular strace to trace your binaries.
The Reko Decompiler is updated regularly and works for 16-bit DOS executables.
It can generate C code from the disassembly.
It's written in C#/.NET so requires mono if you want to run it on linux or macos.