but this approach does not make it dynamic, if i have new value and hence new lookup, i need to update the searches.. I want to make the search dynamically pick the correct lookup based on the value in event.
Unfortunately you cannot create that type of dynamic lookup as the name is always the text of the lookup, not some indirection through a field name.
You can do this sort of thing using tokens if the SPL is running in a dashboard where the lookup name can be a token, but it is not really a general solution that would work in an event stream where the lookup will be dynamic based on the event data itself.
I have a feeling I have seen this discussed on Splunk ideas, but you could always create a new idea if it does not already exist.