ich bin der meinung, du verstehst da was falsch -vielleicht aber auch ich
Die Variablen fester Größe werden beim Aufruf ener Funktion/prozedur
im stack gespeichert, also Integer, Byte, Pointer,..
Die Variablen variabler Größe werden im Heap abgelegt, und zwar, wenn er Inhalt erzeugt wird idR beim create bzw SetLength. der pointer auf das Objekt wird wiederum auf den stack gelegt, da es sonst ein Speicherleck ist.
Die sache mit den IDs kenne ich nur von BASIC dialekten.
Die als published markierten Variablen, könntest du vllt per
RTTI auslesen
Alle Angaben ohne Gewehr