And I mean that from a purely strategic standpoint, not in terms of who would actually come out better at the end of a town hall (I think the odds do favor McCain, but then again he's been a total gaffe machine so I wouldn't consider it a lock).
As I understand it (and I may not understand it all that well), one basic tenet of running an effective campaign is that you define and dictate your own terms: Your schedule, your priorities, your agenda, your issues. You don't let your opponent do that for you. Of course, no campaigns, including winning campaigns, do this 100% effectively. The candidates can influence but not control the news cycles, they obviously can't prevent their opponents from running attack ads or trying to re-shift the focus of the campaign to less favorable issues, etc. But given the difficulty of not only maintaining the ground you do gain, but also advancing onwards from there, what you absolutely cannot do is give your opponent any freebies. They will exploit them and use them against you.
For example, do you think if Obama conceded to McCain one or two town hall debates that the McCain camp would actually acknowledge any positive virtue of his having done that? Hell no! They'd use that to attack him for being a flip-flopper ("oh, so NOW that he's feeling some pressure he'll change his mind and agree to a town hall"), they'd bash him for not doing more of them ("is Obama so afraid of discussing the issues with the American people that he'll only do it once?"), they'd point to it as an example of poor leadership ("if Obama doesn't even know when and where he wants to talk about the issues, how can we expect him to lead us?"), and they'd drum up this "celebrity" bull**** even more ("Obama wants you to think that he doesn't believe he's better than you, but he'll only get off his celebrity pedestal when it's politically convenient for him").
At this point Obama has absolutely nothing to gain by agreeing to town halls, and a whole lot to lose. I'll be pretty shocked if they concede that.