I think what you are asking for is, in effect, the creation or adoption of a templating language. This would make layout easier at the expense of making functionality changes more difficult (i.e. code _and_ template). A bad idea in my opinion.

CSS is already separate, and it would be good if every HTML object had a class attribute, but that's it.