$-Sign expansion is a weird beast. It is actually some sort of text pre-processor that is reading & translating text streams even before the interpreter tries to lift a series of tokens from the input to assemble the next statement.
Now this so-called pre-processor does its job before the statement is assembled, interpreted and executed. That doesn't mean that $-sign substitution cannot happen multiple times in a row (it can, when for example you start nesting $-sign substitutions) but those substitutions will happen all before the actual statement is read. And not while the statement is read or interpreted or executed. Once a LOAD has been parsed to completion, it will not change anymore during execution.
So your attempt to change a single LOAD statement everytime a different ISO_CODE is found in the input stream won't work... The $-sign substitution will be handled the first time the LOAD statement is encountered (and will probably produce the wrong value because no data has been read yet) and never again while that same LOAD statement is running.