How/where is the list stored? If the list is in a SAS dataset, you can generate SAS code using PROC SQL and build a set of SAS macro variables. Then use those macro variables within a SAS macro to generate other code.
Another technique is referenced in the technical paper below, found at the SAS support website using a Google advanced search argument.
Also consider an alternative which would be using a PROC FORMAT and a DATA step PUT function to do look-ups or for finding match conditions against your list. With such a large list of values, you will likely find the performance to be better using PUT function. And, a DATA step MERGE (or PROC SQL JOIN) to match values against your list may also be a suitable.