Até onde precisei usei merge(). Porém, por suspeita fiz uma busquinha no google agora e tem como deixar mais rápido usando o pacote data.table ou sqldf. Seguem links

http://stackoverflow.com/questions/11146967/efficient-alternatives-to-merge-for-larger-data-frames-r
http://stackoverflow.com/questions/4322219/whats-the-fastest-way-to-merge-join-data-frames-in-r

À disposição.
Walmes.