How to stop 'locate' from using databases for unmounted volumes?
locate is not equivalent to Spotlight. 

Having said that, lets look at the meat of your question:

You can try to force an update of the locate db using sudo /usr/libexec/locate.updatedb which will rebuild the locates database.

I would check the manpage for locate for additional options regarding other volumes as I believe there is a flag to stay on the current filesystem from locate but it escapes me at the moment. Locate Man Page for 10.9

Having looked at it the best thing I can come up with is to use a regular expression that won't visit another filesystem or to create seperate databases for each.

Another option is to use the find command which can be told to stay on the current filesystem -x on BSD, -xdev in linux.