@Holger
Bei interpretativen Sprachen ist sowas leicht möglich, neben NET.DATA gehöhren da auch noch PHP, Java, REXX u.v.a.m. dazu.
RPG ist nun mal im weitesten Sinn Maschinencode und da wird quasi nix mehr interpretiert.
In .NET (VB.NET, C#, J#) sowie VB6 oder Java gibts dann allgemeine Variablen vom Typ Object/Variant, die nun mal alles beinhalten können.
Hinzu wird noch mit Collections und Array's (und Ableitungen) gearbeitet, die eben über einen Index als Nummer oder Schlüssel bearbeitet werden.
Dadurch kann ich eben beliebige Listen führen (sortiert, verkettet oder sonstwas), die eben meine Variablen dynamisieren.
Sogar für C++ stehen entsprechende Klassen (MFC, ATL, STL, usw.) zur Verfügung, um solche Dinge abzubilden.
Aber nicht umsonst kennt man da auch das Problem der "Memory-Leaks", was mit den Garbage-Collectoren versucht wird zu minimieren (beheben geht nicht).

Wer das in ILERPG machen will, bricht sich garantiert sämtliche Knochen, da allein die Sprache eben keine Objekte oder Klassen unterstützt.
Spätestens beim FileIO (auch beim embedded SQL) wirds dann wieder tragisch, wenn man sein komplexes Speichermodell wieder auflösen muss.
Selbst mit CLI ist das nicht so ganz einfach.

Nicht umsonst verwendet man bei allen Interpretersprachen jede Menge Standardklassen, die einem eben diese Basisarbeit abnehmen.