Die Validierung von Bankverbindungen für SEPA habe ich gerade hinter mich gebracht. Das ist eine sehr dankbar Aufgabe ;-)
Zum Thema: Nach meiner Erfahrung der letzten Jahre (und mit verschiedenen Banken) werden Verzeichnisse für SWIFT/BIC-Codes von den Banken wie die Kronjuwelen behandelt. Bestenfalls für (viel) Geld bekommt man so ein Verzeichnis.
Aber: SWIFT-Codes sind wie Bankleitzahlen - sie können sich rasch ändern. Desweiteren dürfte es wohl kaum ein Verzeichnis geben, das weltweit gültig und halbwegs aktuell ist. Die ersten vier Stellen (Bankname) sowie die Stellen 5 und 6 (Ländercode) sind noch einfach und relativ stabil hinsichtlich von Änderungen. Spätestens ab der 7. Stelle wird es schon schwierig - hier gibt es meiner Erfahrung nach ziemlich oft Änderungen und Indifferenzen. Ein kleines Beispiel: DEUTDEBR, DEUTDEBRXXX und DEUTDEHB sind faktisch identisch.
Meine Empfehlung: Kunden und Lieferanten anschreiben und um Aufgabe der genauen Angaben wie Kontonummer, IBAN und SWIFT/BIC-Code bitten. Das macht in so fern Sinn, als dass auch die IBAN-Rechner für die Umwandlung von Kontonummer und BLZ nicht selten falsche Ergebnisse liefern, da entweder die verwendete BLZ veraltet ist und/oder die Kontonummer unvollständig ist (fehlende Nullen auf der linken Seite sind unkritisch - fehlen sie auf der rechten Seite, was bei klassischen DTA-Zahlungen kein Problem ist, wird eine falsche Prüfziffer generiert, die wiederum die IBAN total versenkt).
BTW: Sofern es nur ein paar Hände voll SWIFT-Codes sind, hilft Googlen meistens auch :-)
Ach so: Sofern ausländische BLZs wie Sort Codes (UK) oder ABA Numbers (US) verwendet werden, muss der Abgleich des SWIFT-Codes auch gegen diese Codes erfolgen. Das bringt mich, und nun wirklich als letztes, zu einem interessanten Aspekt rund um Bankgebühren: Viele Banken berechnen so genannten Non-stop-Preise für Auslandszahlungen, sofern sie selbst die Angaben zur Bank nicht prüfen müssen. Wenn man also "nur" einen SWIFT-Code und eine Kontonummer liefert, ist das, wie gesagt je nach Bank, erheblich günstiger, als wenn man Bankname (und Adresse der Bank), SWIFT-Code, ausländische BLZ und Kontonummer liefert. Auf so genannte "Corresponding Bankers", die neben der eigentlichen Bank des Empfängers oft und gern mitgegeben werden, sollte man grundsätzlich verzichten - macht die Zahlung auch teuerer und z.T. langsamer, da nicht jede Auftraggeberbank mit der gewünschten Corresponding Bank eine Geschäftsbeziehung hat. Eine Optimierung der Bankdaten unter den beschriebenen Aspekten kann also effektiv dazu beitragen, Geld zu sparen.
HTH