These files and directories are created by various applications:
.DS_Store - Created by Finder when you open a directory. It stores information about the folder (view options, icon positions, etc).
.fseventsd - created by the fseventsd daemon. It contains data about file system events such as modifications, deletion, creation, etc.
.Spotlight-V100 - stores indexing information for spotlight in the form of metadata.
.Trashes - A folder containing files that have been sent to trash but not yet deleted from the volume.
In order to prevent them all from being created, you have to modify the behaviour of each application individually. That would include adding an exception to Spotlight, Disabling Finder's caching feature (if possible), changing the fseventsd daemon and so on. I'm not sure if it's even possible to add exclusions or disable all of these features. If you don't need to write to the disk, I'd just mount it as read only to make things easier.
To prevent /.Spotlight files you must prevent Spotlight fron indexing external drives.
To do this for a specific drive add a file called .metadata_never_index to the root directory of the removable drive.
You can also completely prevent spotlight indexing but I figured that was not what you were looking for.
To prevent .DS_Store files from being created:
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
More Info Here (And More files that you can prevent) and Here
Best Answer
Macworld has an article describing a way to delete the hidden Mac dot files. The hints suggest modifying the default unmount script. Use care because the script could delete other hidden files like .bashrc that you may want.
http://hints.macworld.com/article.php?story=20110204124029798