Я не думаю, что Mac OS X хранит глобальную базу данных всех идентификаторов пакетов.
Как уже отмечалось, вы можете найти приложение довольно простым способом с NSWorkspace.
Кроме того, так как вы использовали kext для своего примера, в Leopard (10.5) есть инструмент под названием "kextfind", который вы можете запустить для поиска кекстов в системной папке Exensions (кексы в других местах не найдены, если Вы указываете инструмент на эти другие места). У kextfind есть много опций - подробности см. на странице руководства, но чтобы найти kext по идентификатору пакета, вы можете сделать это:
kextfind -bundle-id com.apple.iokit.IOStorageFamily
В настоящее время у нас нет API уровня C для поиска кекс-программ по идентификатору пакета.
Что касается взлома пути от последнего компонента идентификатора пакета: не делайте этого. Нет ничего, что требовало бы, чтобы имя оболочки совпадало с последним компонентом идентификатора пакета, и я видел kexts (не говоря уже о других пакетах), где эти два не совпадают.