I looked into this concept some, but had a couple problems. The way that I tried, was a usb device selector in usbromservice.sh that would throw a couple short scripts with the device UUID into /etc/usbmount/mount.d and /etc/usbmount/umount.d/. So any time the usb device with the matching UUID was plugged in it would be mount --bind to the roms directory. It worked alright for vfat, but ntfs gave me problems.
Since it's filesystem stuff, there's a lot of ways to accomplish it. It seems like if it's done in the right way it could be useful. But I think it could potentially cause a lot of problems for users. I also think that a solution with options to not only have sd or usb, but both in emulationstation, would really be the ideal. Another thing to consider is whether or not the scraper will work properly.
One of my thoughts was a script that would generate a modified version(to override, but not overwrite) of es_systems.cfg with the paths changed and potentially the entries duplicated. So you could have the SD card directory for NES and a USB directory for NES both showing up in emulationstation, or one or the other.
https://github.com/RetroPie/RetroPie-Setup/issues/1130