Found the articles I had read earlier. Looks like Java allows Block Scope as long as the variable doesn't hide another variable with the same name within the method/sub/function. The articles mention variables in outer curly brackets above where you currently are as ones not allowed to hide, but then goes on to talk about naming the same as class variables being allowed and you access them with this.classVariable...so, it appears JAVA handles it two different ways since really Class Variables are still a curly bracket up from where you are.
I'm fine keeping the global scope and same name variables working how it is now if too difficult to get a solution handling scope like JAVA does, but I'd still like to at least get the DIM occurring where I place it in code.