Currently, the use of {{#for_external_table:}} is limited by the fact that all parser function calls in its input are resolved before the local variables are substituted.
The alternative is {{#display_external_table:}}, which requires an auxilliary template displaying a row of data, but has no such limitation. However, creating a template is not always feasible, for example, when a "template" is stored semantically.
Therefore, a way to display an array of values that substitutes local variables before invoking parser functions in the "template". Most probably, it should be a parser tag.
Alternatively, a more flexible way of attaching parser functions to {{{var}}} clauses has to be invented.