@DBLookup alternative?

What’s the best way to go about this?

Given a state and a product on a ‘main’ document, we’d like to lookup the contact person from the ‘lookup’ document/view.

So the ‘lookup’ document contains a name (only one), the states they handle (up to 50) and the products they handle (also up to 50). Let’s keep it simple and say the person has 30 states and one product. That person then is in the lookup view 30 times.

Now, given reality, many people handle a many products for many states. Therefore, this lookup view is growing exponentially. It’s working correctly, but slow and it’s taking a long time to index.

Is there a better way to go about this instead of a @DBLookup?

Subject: How about @Picklist. It has pros and cons.