I've been working on a script that implements dot mapping in Manifold. It's not particularly fast or elegant, but I think it's a good first step towards getting the job done. One nice aspect of it is that you end up with actual point objects vs. graphic dots, so you can easily reformat them or even move them around when you're done. Run the script once, and voila: dots.
Attached is a sample map generated from this script, using census tracts in Oregon as the data source.
Right now, I'm using a random dot placement method. The first dot goes in the inner centroid of the area, and then the rest are generated using the bounding box of that area. An acceptance-rejection check discards dots that fall outside the actual area, and then the process is repeated until enough dots are properly placed.
There's probably a better way to do this. If you know of one, I'm all ears!