It seems to me that you are trying to make this a lot harder than it is. Thanks to Dreamhost’s allowing free subdomains, the easiest way for you to have people to go to aaa.xxx.org is to just set up “aaa” as a subdomain of xxx.org.
This can seem a little confusing, as some other web hosts use the www.xxx.org/aaa subdirectory of the xxx.org webspace as a subdomain, but on Dreamhost, aaa.xxx.org can have its very own webspace.
While the end result is the same, it is actually better for your guests, and the server, as no additional re-write requests need to be handled by the server.
If you set up aaa as a subdomain of xxx.org, you will have both xxx.org and aaa.xxx.org as directories within your machine user space. Another advantage this provides is that each can have their own associated email addresses, system software configuration, .htaccess files/rules, etc.
You can still link between the sites, even though you can manage them as two different sites. All in all, it’s just a much easier and more efficient way to do this than using a subdirectory and manipulating urls via Apache re-write rules and .htaccess.