There are a few complications to the use of "predicate nominatives".
In general, it's safest to use me, us, him, her, them as the complement of a form of "to be". This is the typical pattern of usage in modern speech, even for educated speakers, and doesn't sound notably informal in most cases.
Note that whom, although often classified as falling into the same category as the preceding words ("accusative pronouns") is not generally used in this context. (This is an exception to the typical "replace whom with another pronoun to find out if it's correct" rule.) Sometimes people use whom in contexts where who is more common to add a sense of formality to their speech; however, I would view the use of whom in a phrase like "Whom is he?", "It was whom?" or "I am whom I am" as an error (although opinions may differ: I think I remember reading some comment by BillJ somewhere where he argued that "whom" would actually be more regular).
The use of a "predicate nominative" pronoun is very restricted in contemporary English. My impression is that it is usually only found in the following contexts:
before "who" when that word functions as the subject of a following relative clause and is followed by a non-contracted finite verb form. Barry England's answer to "It is I who am at fault?" on ELU cites research associated with the Longman Grammar of Spoken and Written English that found that constructions like "It is I who am.." are still preferred to "It is me who am..." or "It is me who is...". It's unclear how much the preceding form of "be" really has to do with the nominative case in this context, since at least some speakers also feel like the nominative sounds good in sentences like "Let he who is..." where "he" is not a predicative complement.
The accusative form is also possible in this context. I would imagine there are some frequency-based effects related to grammatical number and person, just as there apparently are for pronoun case after "and" (if I remember correctly, there is more use of "and I" relative to "and me" than there is of "and they" relative to "and them").
Also, to me the accusative sounds more acceptable before the contraction "who's" than it does before something like "who am": "?It is me who am to blame" sounds pretty weird but "It's me who's to blame" is better.
For some speakers, in the fixed phrase "This is she" or "This is he" used to identify oneself at the start of a telephone call.
Prescriptivist rules for the use of the predicate nominative
The prescriptive rules for the "proper" use of the predicate nominative actually have a number of complications and unclear points.
The nominative forms I, we, he, she, they are clearly prescribed after finite forms of "to be" (forms that stand alone as the main verb of a clause, and are inflected for person and number in the present tense). E.g. It is I/It is we/It is he/It is they. The "predicate nominative" also seems to have been prescribed after the "perfect" construction ("It has been I") and after a combination of a modal verb and the bare infinitive be (e.g. "It will be I", "It should be I").
The nominative case is proscribed and considered incorrect by the sources that I am familar with when it comes after a to-infinitive that is preceded by an accusative-case noun phrase.
- Example: *I wanted it to be I (incorrect). "I wanted it to be me" is considered correct by prescriptive grammar sources because the subject of the infinitive is in the accusative case, so the predicate should supposedly should be put in the same case.
Other contexts involving infinitives and gerunds are more or less unclear (E.g. "I want to be he/him"; "They had no thought of its being I/me"). I asked a question about them on ELU and the answers I got reveal some variation in the prescribed forms. In any case, situations where this makes a difference are pretty rare.
Your example sentences
Honestly, "A" and "B" both sound OK to me. "B" probably sounds a bit more formal. If I wanted to express this idea but I was worried that "B" sounded too formal, I think it might sound better to rephrase rather than just changing the case of the pronoun to accusative. "He's the one who broke the window pane" would express the same idea.
"D" sounds unnatural; I would not recommend it.