You may want to do that, but your code will be an horror with those pseudo "scope labels".
And the syntax you propose cannot work, as it is ambiguous (you use quoted strings in places where it could start an _expression_ statement. Do you want to repeat the nightmare of semicolons at end of statements ?
So, "end" is not equivalent to "local", just use "local" instead to hide explicit variables, and do not allow "unhiding" specific variables from outer scopes (it would be a very bad practive in my opinion): if you use "end" it terminates the current closure of the function or all "local" or for variables that fall out of scope (and cannot be "resumed in scope" after it). Scopes are necessarily recursively embedded and must never overlap partially (scopes can only overlap entirely, or not at all; each "local" statement starts an embedded scope which fully overlaps the previous scope, until the "end" of function closure or "end" of block).Scopes must form a perfect hierarchic tree with no shared subranches.