For a long time we've had no good answers to these kinds of questions. And how could there ever be a definitive answer to such a question? Well, I think I've just worked it out. For the sake of argument, let's suppose that Grandmaster Alexandra Kosteniuk is correct in saying that:In other words - that the recent lengths of these matches have been open to gaming.
To tell you the truth, although the match of such players are always awaiting with big interest and enthusiasm, the strategy for this kind of matches nowadays are rather uninteresting. Players, like Anand or Topalov, or even Kramnik are trying to minimize their risk and play positions with a small plus for White and try to hold a draw in boring and slightly worse endgames [with black].
A match is not a tournament, even if you win with the score +1 it's enough to get the title. This makes players play differently, not in an open and exciting style they usually play in tournament, but rather in very academical and unrisky ways.
So the answer to how long should a World Championship match should be? Now it's easy, almost obvious. The match should be sufficiently long that such a strategy doesn't make sense - that is, it doesn't make sense to aim for one victory and no losses, by changing style and openings. And the way to do that?
To make the matches sufficiently long that each player will almost certainly lose one game. Right? Except, there's a problem with gaming there too. Topalov as everyone knows is not as hot a rapid players as Anand or Kramnik; thus against Topalov, both Anand and Kramnik could aim for a drawn match confident that the rapidplay tiebreaks are likely to favour them. So instead, matches should be sufficiently long that each player will almost certainly lose two games.
And how can we calculate such a length? We take the player who generally produces more unbeaten runs. We double the length of their longest unbeaten run, and add the number two to it. That's how long each World Championship should be.
And what would that mean in practice? Um, I dunno. Anyone skilled at database use want to work this out? Perhaps retrospectively too?