Sure, a lot can be done. Source code translation always offers the possibility to replace one instruction by a sequence - like Intel already did for a few. This would as well solve the issue of incompatible hardware, like simply exchanging all registers with a copy in memory when the alternate register set is selected.
Just, who should do this?
Intel had only interest to support their customers. Taking on all the support pitfalls for a rare chance to win over customers that have already left Intel? With a CPU that, despite all improvements, still cannot compete with the Z80 in the important area of interrupt handling? Interrupt handling was the main reason for professional customers to switch to Zilog. Not funny instructions.
Zilog had even less motivation to support porting Z80 code to x86 as that would mean loosing customers.
Lastly, there would be software companies, but their need was also rather limited. The ones writing machine-independent software did not use Z80 extensions, as they preferred to have a single binary for all of the CP/M world. Producers of machine-dependent software on the other hand were much more about performance; any automatic translation would have helped only at the curiosity level.
For the 8085, Intel simply resolved that issue by not making any of the new instructions officially available. The only official new ones were
SIM and these are part of interrupt management, something that had to be rewritten anyway when porting to x86.
While it would be possible, there was no real need to do so.