Based on my experience with what other dbs offer and what we find we, FileMaker should create these four types of variables:
$subscript - this variable works only within a script and cannot be used elsewhere
$$parentscript - this variable works within a script and all scripts performed by this script (parameterlike). if $$Parentscript were available we could run multiple instances of the same script without conflict but now one instance changes value for all instances.
$$$file - currently the $$variable - again a global variable cannot be limited to one parent script
$$$$application - all files can access this value - currently use perform script in file x parameter xx
Currently we use $subscript and $$$file which leaves out the capabilities we could use.
We can also use $$File as Fixed, Modifiable, Temporary, and deletable. Need a cowboy to herd those cattle.