32bit packages on 64bit FreeBSD? And future mixed x86+arm?

Ran into a snag where I need install 32 bit Postgres on a amd64 system in order to dump it's database files. How does 32 bit compatibility work? Right now I'm creating a 32 bit jail as that is what seems to be suggested. But then what are the lib32 libraries for?

Can one install and compile mixed 64+32 bit ports/packages? How?

Also I see this as related to future AMD processors that have both x86 and arm cores? How will that work? Will it require separat e binaries or will the binary formats be enhances to allow both instruction sets in the same executable file? Anyone know?
Ports will need to be specifically built for this. Have a look at emulators/i386-wine, as far as I know that's the only port that builds and installs a 32 bit application on a 64 bit system.