Ok, let's try and address those points in turn
Yes, an x86 computer could cross compile to x64 code (this is a common practice). Also the x64 based operating system may have an emulation layer for running x86 code (This is what Windows does for backwards compatibility)
Yes, a x64 computer could cross compile to x86 code (also a common practice). In theory, a x86 based operating system could have an emulation layer for running x64 code (though I don't believe this is done in practice)
In the case of cross compilation, there'll be no difference between a x64 code compiled on an x64 computer vs the same code cross compiled on a x86 computer. If the x64 is running an emulation layer to run x86 code, then it'll be less efficient than running native x64 code. If you want to support x86 systems, then you'll have to provide an x86 version.
See (3) - It's generally better better to provide 'native' versions.
Yes. - see (1) and (2)