OK, taking the current figures from the
Electoral Vote Prediction Site it looks to me like Kerry can win even if he is 2% behind in the national vote.
Today's poll has him on 270 electoral votes to Bush's 248, with 20 evenly balanced (Arkansas, Minnesota and New Hampshire). Bush could therefore win all three of the latter and still lose the election. (Or to be more precise, since New Hampshire could split its vote, he could win all the 20 balanced electoral votes and still lose the election.) [edit I'm wrong, it's Maine not New Hampshire that could split its votes.]
Summing across the data on the site and dividing by population, I find that it gives Kerry 46.4% of the national vote and Bush 47.8%, a difference of 1.4% in Bush's favour, which is however not enough for him to win. The reason for this is that there are fifteen states where Bush's lead is over 15% - Utah, Wyoming, Nebraska, Oklahoma, North Dakota, Idaho, Alabama, Alaska, Kansas, Texas, Tennessee, Kentucky, Indiana, Georgia and Montana - but only five where the same is true for Kerry - D.C. (technically not a state), Massachusetts, Rhode Island, Illinois and Maryland. 27% of Bush's total vote is in those 15 states; indeed his total margin over Kerry in those states amounts to 12% of his total vote. If these polling figures are accurate (a big if), I reckon Kerry could be 2% behind and still win.
Here's hoping.