The first keyfile support option is covered in my pull request.
About option 2 I think it arguable if it doesn't defeat the purpose of key files. The idea of keyfiles in my opinion is when an attacker has stolen an Truecrypt volume and the password(database) it is not possible for him to open the volume without the exact keyfiles in place. It adds an extra barrier which is defeated when keyfiles are also included in the password(database). Why would you otherwise choose to use a keyfile for encryption if it only acts as a password from your password database?