Mac OS X does not provide a way to whitelist or blacklist APs by BSSID or otherwise.
Even if someone were to find/reverse-engineer some private API that could allow a shady tool to specify a BSSID at join time, it still wouldn't help much; since there is no blacklist or whitelist mechanism in the OS, your client could immediately roam to the failing AP if the good AP's signal strength is insufficient, and the failing APs signal strength is enough better.
As @Chealion noted,
airport -s lists all the visible APs individually instead of collapsing them by SSID.
I usually do this to put a symlink to the
airport command in a directory in my
ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport /usr/local/bin/airport
...so that after that I can just issue
If you found a third-party 802.11 card, perhaps a USB dongle, that uses its own Mac OS X driver that doesn't leverage any of Apple's AirPort client infrastructure (the IO80211 IOKit family, the Apple80211 private framework, and the "AirPort" GUI pieces), then maybe that product could contain a BSSID whitelist or blacklist feature, but the support for it just isn't there in Mac OS X's built-in 802.11 infrastructure.