You ask a lot of different questions here. What specific echo variable are you concerned with? Do you want to look at the source code for echo? Want to have verbose output in BASH while interpreting? Then use set -x and set +x and set to list vars.
–
user13742Jan 30 '13 at 22:29

I want to see the file name of the source definition of any variable. Is this possible? Or do I need to dig?
–
alrightgameJan 30 '13 at 22:32

+1 Environment variables are simply an array of char* pointers, each one containing a pointer to a string variable=value. There is no facility for auditing which process changed which value. You would need to implement your own kernel functions and probably recompile most of the user-space binaries as well to change that.
–
tripleeeJan 31 '13 at 9:22

As far as I know, a variable is a variable and contains no information on what defined it.
A possible workaround is to search inside files with grep, from your home directory or / (this may take a while):