"No, I do not have a family."
depends. は emphasizes that 'kazoku' is being talked about "About family, there isn't one". Where as が is more of a mention that "family isn't". i like to think that が is answering a silent question so think of it as being the response to "What don't you have?", with the answer being かぞくがいません。(I don't have a family) where as は is focusing more on the word family so more of a reply to "Where is your family/ Don't you have a family" and therefore かぞくはいません。(I don't have a family).
I think you are comparing 家族はいません with "I don't have a family" and hoping that the subject/object in English must fit in the same role as the Japanese sentence.
This is not necessarily true because it is often not a 1-to-1 translation.
To help people understand, I introduced "exist" as the translation of ある/いる in favor of "I have/there is" although it is not as natural. One of the reasons is that the noun before が/は ある/いる is indeed a subject. You can't say it is an object. It is against Japanese grammar.
Another reason is that I have always emphasized that ある/いる does not necessaily imply ownership. e.g. とりがいます "There is a bird" and it does not imply "I have a bird." For some cases it does imply ownership, e.g. the current question 家族がいます. With the most plausible guess, it is implicitly 私は家族がいます. To me, a family exists => I have a family. But nevertheless it is a derived meaning of "a family exists."
I'm still struggling with this but if I've got this right, は removed from the verb with something in between is just a topic marker. は next to the verb predicates it. It means you don't have a family, whereas "家族がいません" can just mean your family is not there at the moment.
I don't think so, as が indicates (by definition) the subject, and in this case かぞく isn't the subject at all, but only the thing which you're saying you don't have. So, for me, かぞく is the topic, which is indicated by は.
Yes おります is a common expression when speaking to clients or bosses.
I think the algorithm of the correct answer suggestion is to find a correct answer in the word bank and provide the one with the least difference, in this case ありません=>おりません(1 difference) over いません(2 differences). I am not an engineer of Duolingo so I cannot tell if suggesting いません is possible or not.