Since the sites uses the same database mirroring is not the route to take.
If I understand correctly I'd say that you want to set up load balancing and cache invalidation on the server, so that if one website gets updated then the others are told about it and thus fetch the new version from the database.
Now, files are always an issue in LB setups, I think that the best option is to use a fileserver that is clustered to ensure availability and then have all webserver point to a share on the fileserver for your upload folder.
We have 4 destination sites, alla the sites have identical web.config and use the same database. When we mirror from our source site all normal content is mirrored to all 4 destination sites. But only one of the sites (the fourth one) receives the images in the upload diractory. Images are only being mirrored to the fourth destiination site. The mirroring history shows changes being mirrored to all sites without errors. This is a big problem. For now I manualy move the upload directory to the other 3 destination sites.
All help is appreciated!