I don't know of any tool but you may be able to parse the content. Sort of a fun experiment ;)
The url for the Archives is: yourblog.wordpress.com/year/month; e.g. yourblog.wordpress.com/2009/11. The content for the page is wrapped in a div with the id="content". Each post is wrapped in a child div that contains a class called "post", and the target href is contained in a child H2 tag.
It looks roughly like this:
<div id="content">
<div class="post-597 post hentry category-activeengine category-coaching tag-philosophy">
<h2>
<a title="Permalink for : More than .Net, jQuery, S3 and Corporate-Speak" href="http://activeengine.wordpress.com/2009/11/24/more-than-net-jquery-s3-and-corporate-speak/">More than .Net, jQuery, S3 and Corporate-Speak</a>
<em>November 24, 2009</em>
</h2>
<em class="info"></em>
<div class="snap_preview">
</div>
</div>
<div class="post-562 post hentry category-net category-activeengine category-linux category-mono category-new-techniques category-open-source tag-c tag-mono tag-monodevelop">
Potentially you could do a get for each monthly archive page and use jQuery to parse out the href to each post. Once you have all the hrefs you could run another process that would pull down each html file. You would also need a process for the images. To keep things easy you could create folder structure that mirrors the archives.