In my experience finding/adapting packages for crosscompiling 64->32 is much more troublesome than setting up 32-bit chroot and using it for 32-bit builds.
Sorry but I don't understand, certainly because I'm still a noob at linux stuffs.
I don't understand what you mean by crosscompiling here, do you mean cross compiling boost? The problem being how CMake will find the right binaries, I don't see how it solve the problem?