Off the top of my head, you could script something that requires the usb key to be auto mounted, and have it run as a cron job, and check to see if:
1) the USB key is mounted, and
2) that a particular hash is present on the key after the drive has been inserted (to prevent any USB key from performing the same function)
Once this is accomplished, you can have samba launch and mount the share. Samba can use passwords naturally.
If you don't mind my asking though, why so complicated? What is the need for the USB key? You could do just as well with SSH to the target machine to decrypt the file system and launch the required daemons...