A very out of date (2013) gnupg.org mail archive explains an awkward workaround for making a separate password for a subkey.
It implies the constraint is not within data-structure of the key-set (i.e. the master subkey grouping) but only in the software interface for constructing and modifying the keyset.
A quote from the reference:
is it possible to have a master key and several subkeys with the
subkeys having a different (e.g. shorter) passphrase than the master
What you are probably looking for is an offline mainkey (see
--export-secret- subkeys). But the answer is: yes. gpg-agent does not care about the connection of keys. It asks you even for the same
passphrase several times (for different components of the same key).
But GnuPG does not support this directly.
1) Export the secret key (--export-secret-keys without --armor)
2) change the passphrase
3) Export again (to a different file, of course)
4) Use gpgsplit on both files (in different directories). The result
looks like this:
000001-005.secret_key 000002-013.user_id 000003-002.sig
5) Now you mix the components of the two groups: mkdir combined mv
a/000001* a/000002* a/000003* combined/ mv b/000004* b/000005*
combined/ cd combined/ cat * > different_passphrases.gpg
6) Delete the key from secring: --delete-secret-key
7) Import the new one: gpg --import different_passphrases.gpg
I have not personally confirmed this operation - just reporting what I have read.
The lack of specification and discussion in GnuPG documentation concerning this important topic is disappointing.