For that to become an issue we'd have to introduce function body inheritance first. Indeed there is choice, but the choice is - to begin with - whether to introduce that concept or not (my vote on that matter is no).
And mine as well. And for the same reason that I don't want that (it is unintuitive), I don't want constants that work like they do now. Overriding of constants is also a concept that we had to introduce (after all, we had to introduce the concept of constants in the first place)...
But it appears that this behaviour has been implemented for a long time, so changing it would indeed be a compatibility problem, I can buy that argument.
As for the "nolocal" modifier, maybe this would be cool to have anyway? You could apply it to function scope variables to give them object lifetime. (And twice to achieve what I scetched in 16636824? :)