но уже не таких как проверять на всех НП
Это смотря сколько надо проверить. Если не планета, а область, то городить базаданновские заморочки вовсе не обязательно. К тому же всё делается каскадо, сначала попадание в объект верхнего уровня (с учетом возможного наличия addr:region,district,subdistrict,...) , потом ниже, ниже... В большинстве случаев собствено НП оказывается с уникальным именем в рамках своего родительского объекта и до геометрии дело можно и не доводить вовсе..