I think you said something like 120 offices. All the offices in Directory, so you'd like to pull from there based on DNIS.
Unfortunately, the way to access that info in Directory is via the API, so you would have to create a REST web service that gets the location name (or user name...however you have the offices stored) based on the DNIS, and then use the returned data to set the Input for that screen pop. That would be using a Web Services Data Dip connector.
This thread on developer.mypurecloud.com talks about how to call the API from Architect and use the returned data there:
https://developer.mypurecloud.com/forum/t/bridge-action-to-retrieve-last-agent-that-forwards-a-call-to-an-in-queue-call-flow/1026/4
It's not exactly the same, but you can post on the forum there and get more assistance.