If it is a variable, then the name (other than in the debug info) will not be in the exe. The compiler will have replaced it by the address it had gotten for it, and so once everything used that address the name was irrelevant.
However, if it is not a variable, but a published field/property of an object (class) then the compiler will create RTTI for that property.
If you have the address of such a field, and if you then also have the class, then you can iterate over the published fields, and find the one with the matching address. And you can then get the name of it. (That is how a form is loaded from lfm, only that here the lookup is by name, and the address (or setter if it is a property) is then used to write the loaded value to.