It must be possible to use the same variable-name in different subroutines without using the same ram-location

Yikes! - I know that if I used the same variable name, but different subs changed different RAM locations, I'd get hopelessly lost in writing any code at all!