"I created a calculation field where it equals the field from the shadow table"
Doesn't answer your question, but once a field cannot be indexed, everything downstream of it cannot be indexed either.
You may have to import this data from the external table into a local table in order to use it as a value source for your value list. I realize that that option may create new problems for you even as it solves the value list issue.
An alternative might be to use a portal to the shadow table as a "click list" of values. This can even be a filtered portal to reduce the number of values shown. You format the field or fields in the portal as a button and use a script to enter the data from the portal row thus clicked.