FreeBSD has full support for GPIO and i2c on both the RPi 1 and 2. Simple wrappers around FreeBSD's GPIO ioctl can be found at https://github.com/gonzoua/freebsd-gpio
I put FreeBSD on my Raspberry Pi B a few months back. (Similar images were previously published as well.)
I had to abandon the project, though, because there were very limited binary ports and base-system updates available. Compiling things on the Pi is a pain when possible at all. I did get a fairly decent cross-compile setup going, but in the end, it was more trouble than it was worth.
I don't know, but I would assume it's similar to setting CPUTYPE in your make.conf so binaries are built with some cpu-specific asm for your specific flavor of x86 CPU: you'll get a performance boost, but nothing mind-blowing.
Because, on FreeBSD, armv6 is for 32-bit ARMv6 and later platforms. The userland is shared between all armv6 SoCs, however the kernel is targeted depending on the architectures it will boot on and will be built for ARMv7 when applicable.
I've tried freeBSD in a Raspberry Pi 1, but I couldn't get any binaries precompiled for ARM :(. I would like to have an easy way to cross-compile ports from my main machine.