using reserved words as field names in tables (which is often referred to here as ill-advised) is one thing, but using reserved (maybe this isnt quite the correct term) language words in VBA is something total different
obviously "local" just happens to be a word reserved by the compiler for something specific, and using it in the wrong context is either not allowed, or will produce a compile error, in the same way that getting your syntax wrong does the same.
not sure about the vba comiler/interpreter, but compilers generally work by turning every variable into a token/memory location, and obvioulsy this particular one will not let you redefine certain tokens
i think some languages do allow you to do so, but if you do redefine reserved words/(function names), you may lose the "real" functionality, which isnt ideal.