There are a couple of ways to split your export file into a series of smaller files that you can import more easily, but whether you can use one of them or not depends on the nature of your blog.
Please note that I am a bit hesitant to suggest the best way for you to approach this, as I have not seen your blog, and the methodology you should use for best results has a lot to do with your structure and contents. For instance, none of these export/import methods migrate any uploaded images from your old site, nor do they account for any "absolute links" to those images within your content (absolute links to images "outside" your own site will continue to work as they did on your old site - they will show up as long as they are still present in the location that was linked)
I only mention this because you have already indicated considerable frustration with the difficulty you are having in accomplishing this move, and I don't want to subject you to completing the export/import successfully only to find all your posts "borked" because of missing images and bad image links. This is also true of any "hardcoded" links within a post to a permalink/page/post within your old site - when the url to your site changes, that link will be broken.
Since I have asked repeatedly for a link to your present blog (the one we are trying to help you move to DreamHost) but you have ignored that request, I can only assume that you do not want me/us to see the site, which is fine. That said, you should understand that the advice you get here is given without the benefit of that important and relevant research.
With the understanding, please realize that I am only attempting to answer your question regarding "splitting the exported xml file" so you can accomplish a series of imports, and that, if you have images, or absolute links, in your posts, they will need to be dealt with in another way.
Create Multiple Exports
The WordPress Export facility has the ability to limit the contents of the Export file by author using the "Restrict Author:" pull down selection box. If you have multiple authors, this enables you to select only a single author's posts (with comments and category data) to be included in the export. By doing this for each author, you will end up with a series of export files that can then be individually imported to your new blog. This obviously will not help you much if there is single author for all your posts, or if any individual author's number of posts is so large the memory problem manifests itself again.
Split A Single Large Exported XML File Into Smaller Valid Files
The second method is to create a series of XML files from the single xml file, each containing the proper heading information and structure, but containing different content sections. If you have the programming skills, you could attempt to program this, but unless you are fairly skillful and understand XML very well, this is probably not a viable option.
You can do it manually with a text editor. DO NOT use a "word processor"; you want pure raw text here, with nix style line-endings if at all possible. You have not shared what type of computer or OS you are using, but MAC OS X, various Windze computers, and linux machines have such editors readily available (on windows machines I use PSPad, which is free and available for download from the web).
Trying to put this in "plain English" and avoiding "jargon" (my descriptions of these parts of the file are intended to be descriptive, and are not the correct technical terms), what you want to do is open the XML file you exported from WordPress.com, and study it so that you see how it is "structured". The file starts out with comment information about the file, then has "header" information such as "RSS version" info, followed by "Channel" information, followed by the "contents" of your blogs posts, comments, categories, etc., and ending with "file closing tags".
XML files use the same convention of "opening/closing tags" ( ... ) as html, so if you look at the file closely, you can see where the "header" information ends, the data from your site begins, and the file closing tags begin. In the case of these feeds, it looks something like this:
<?xml version="1.0" encoding="UTF-8"?>
<title>Title of your BLog</title>
<description>description of your blog</description>
<pubDate>Sat, 04 Aug 2007 05:08:42 0000</pubDate>
(your data/content follows for many, many lines)
(file ending tags)[color=#0000CC]
Once you understand how that structure works, you can create with your text editor (using copy-n-paste), a series of files each containing the "header information", part of the data, and the "file ending tags". The "header information" and the "file ending tags" will be identical in each file, but each file will have a different collection (a subset, if you will) of "data/content" lines.
You can "split" this content anywhere you want with the single restriction that you not split an item - in other words, all the content between a tag (which signifies the "beginning" of an item) and a tag (which signifies the "ending" of an item), and those tags themselves*, must be contiguous in the same file.
When you have completed this process, if you have done it without error, you will have a series of files each able to be imported individually into your WordPress installation on DreamHost. Once you have completed the series of imports, all your content will now be "in" the new WordPress.
Note that, while you are doing the editing might be a good time to deal with any "hard" urls/links in the data that refer to your "old" xxxxx.wordpress.com site (use a search and replace to change them to your new "domainname.tld" site).
If you do this, and then move any referenced images from the old site to your new site (generally your "uploads" directory, and sub-directories, as set in Options, Miscellaneous screen in the WordPress back-end) in the proper directory structure, you can avoid having to "fix" each broken link individually.
I've tried to give you a "layman's" description of how to do all of this - there are many many references on XML on the web (Google can point them out) if you want something more technically detailed or more "in depth".
If this seems too complicated to do, you might consider imposing upon a friend who is an experienced web developer to help you, or reconsider whether or not the other methodology I presented in an earlier post is something you feel more capable of accomplishing.
If you run into a particular problem, the users here have evidenced a willingness to help you, so you can always post again and see if we can help you further. Good Luck!