Ok I spent WAY too much time getting this to work so I'm just going to tell you what finally worked for me.
* Edit your ports down to 5.8 and port install oniguruma5 (5.9.1 might work, haven't retried it)
* ln -sf /opt/local/include/oniguruma.h /usr/include
* ln -sf /opt/local/lib/libonig.2.0.0.dylib /usr/lib
* ln -sf /opt/local/lib/libonig.2.dylib /usr/lib
* ln -sf /opt/local/lib/libonig.dylib /usr/lib
* gem install oniguruma
Essentially we're just tricking it into thinking the bits it needs are installed in the more traditional locations.
On my other computer I'm using ruby from ports... and this was 100% seamless... and there may be some way to pass the right args to gem install to get it to find the include and link things properly, but if it can be done I couldn't figure it out.