Currently the only way to make a cross-compile capable FPC/Lazarus you'd need to have:
1. fpc for 64 bits
2. fpc for 32 bits
Then get Lazarus from source and build it's LCL and packager for both 32 and 64 bits. You can specify CPU_TARGET=x86_32 for example.
This should enable you to switch fpc in environment options. If your 32 and 64bit fpc compiled units are in same dir, you should be able to use "fpc" instead of "ppcx64" or "ppc386" in environment options/compiler path and if everything is in place and visible by the compiler, switching between 64 and 32 bit output is just a matter of specifieing target in compiler options of your project.
I didn't test this tho, but one day will on my laptop
