Can I generate multiple fingerprints from the same private (PGP) key?
No, you cannot. The entire purpose of a fingerprint is to be directly derivable from a public key without any additional input (mainly so that two people could quickly compare that they have obtained the same public key). The fingerprint is not your PGP identity – the actual public key is your PGP identity.
This means that the process of generating a fingerprint is inherently "public" (or symmetric, in the sense that verifying that key X matches fingerprint Y actually involves generating a fingerprint of that key). So while you can in theory write custom tools to e.g. hash a public key plus a custom identifier to generate a site-specific fingerprint, it would still be the case that anyone who knows how to validate such a custom fingerprint, automatically knows how to generate one from the same inputs as well.
However, I've been impersonated a few times online. Usually, by friends, but not always. To this end, I'd like these identifiers for duplicate accounts to be verifiable as from me, so that another account can't merely copy the process I use.
PGP fingerprints are not suitable for this, not least because they're too long to fit into most username fields even on their own, much less as a suffix of some other name.
I'm guessing you had the 8-character "short ID" in mind, which is the last 4 bytes of the whole fingerprint in hex, but that isn't even suitable for its original purpose given how easy it is to generate new PGP keys that collide in their "short IDs".
I don't think there is any method to generate short identifiers using your private key that are verifiable using your public key alone. Even if you devise some kind of asymmetric scheme where others can know how to verify the identifier without automatically knowing how to generate it, modern computers will likely be able to brute force through validation of all 6-character identifiers in a day, 7-character in a month, until a "valid" one pops out – and most likely, your other friends won't actually bother verifying your account name using your custom scheme in the first place.
If cryptographic security is needed, the standard process would be to PGP-sign a message stating My account name at <site foo> is <username> and post it either in that website's user profile or on your own website. An Ed25519 primary key or signing subkey can produce reasonably short signatures, and that gives others something they can directly copy into their standard PGP software for verification (assuming they already have your public key) – and since signatures use asymmetric cryptography, they can be validated without being able to create a fake one.
(You could then use e.g. the last X bits of the signature encoded as base64 or base36 as part of your username, as that would likely be sufficiently unique, but the security of the scheme doesn't rely on that.)
More commonly, cryptographic security is not really needed and it is enough to have a central place (e.g. your website or your GitHub README file) that lists the accounts which are actually yours and then tell people "If it's not in the list then it's not mine".