Most verbs I can think of where “I will have been” doing something in the future perfect progressive are for actions that could be stopped and started over, resetting the clock, whether or not that has in fact happened.
So, for example, if I lived in Kalamazoo for ten years, then moved away, then moved back eleven months ago, I will have been living in Kalamazoo for one year next month, but I will have lived in Kalamazoo for eleven years. (This is not, however, an ironclad rule: people sometimes say something like, “I will have been living in Kalamazoo for eleven years, with some interruptions.”) If I moved to Kalamazoo for the first time eleven months ago, however, “I will have been living in Kalamazoo for a year,” and “I will have lived in Kalamazoo for a year,” would be synonyms.
So, examples of where the construction in D would be idiomatic (in American English) include “I will have been living with John for twenty years,” “I will have been fighting John for twenty years,” “I will have been avoiding John for twenty years,” “I will have been working with John for twenty years,” “I will have been hiding from John for twenty years,” and “I will have been dating John for twenty years; why do you say he’s afraid of commitment?”
Know doesn’t work that way; once you meet someone, you always “know” that person. (There is an expression, “I don’t even know him anymore,” but it isn’t taken literally, and if you asked that person, “Do you know John?” the answer would still be “Yes.”) An even simpler reason, though, might be that we don’t normally “*be knowing” someone, in any tense. Emotional states (such as hating and loving) are another set of examples that are not normally used as progressive verbs. (Again, in American English.)