Close, but no cigar. I managed to get Device::USB compiled and working out of CPAN with a few tweaks.
MacPorts libusb-legacy is not what you need - while it does provide the right version of libusb for Device::USB, the dylibs it installs get named in such a way that gcc will only find them if invoked with -lusb-legacy (which it doesn't do). MakeMaker is one hell of a bag of black magic to me, so I've not done any work on figuring out how to change its linker arguments. Instead, the MacPorts packages you need are libusb and libusb-compat. These modules are named correctly, however they install to /opt/local/lib. If you don't want to snoop around in ~/.cpan and fix Device::USB's script yourself, I suggest symlinking /opt/local/lib/libusb.dylib and /opt/local/lib/libusb.a into /usr/local/lib.
Once you've done your MacPorts dirtywork, you'll be able to install Device::USB out of CPAN. It requires both MakeMaker and Inline::C to be in place beforehand.