They could start requiring bitcode for Mac App Store submissions, and compile things to ARM and x86 as long as they have to support both platforms. Or they could just bring iOS to their desktop class computers. Also, why not emulate x86 apps on ARM? Sure, that would be terrible for games, but might work well for most productivity apps.
The operation system is not the problem. They for sure have a full macOS for ARM working. Its the applications. Most desktop apps are not sold via the App Store, and there are the VMs (Windows, Linux) to think about. For my work for example, I need to be able to run x86 binaries at full speed. So an ARM based Mac would not work for me.
Unfortunately, bitcode is too low level to use for cross-compiling. It's an intermediate representation that's already "on its way" to being code for one architecture.
It is more useful for supporting a new CPU feature or maybe working around a compiler bug without fully recompiling.