What we have speculated about in the past is extending EXPLAIN so that it can be applied to ALTER TABLE and other complicated utility commands, and then for ALTER TABLE one bit of info it would give you is whether a table rewrite (or even a table scan) is required. Obviously, that's a major project, and so nobody's tackled it yet AFAIK.
I though same idea, using EXPLAIN for this purpose can be nice and intuitive