We don't actually use the word "been" for present perfect. "has been" is the present perfect form of the verb "to be". If, instead of "to be", your verb was "to walk", your present perfect for singular third person would have been "has walked". Present perfect normally covers the time up to now. So, it's past leading up to the present instance. Consequently, sentence A is grammatically correct and asks whether there has been a war up to the current point in time. It is not asking whether a war will start tomorrow or in one second, but whether one has happened up to this present point.
Your sentence B is incorrect because "has" is present tense conjugation for verb "to have". War cannot be "had" by someone or something. You could, however, ask:
Was there ever a war in the US?
This is a simple past tense question. The difference from present perfect is that this question focuses more on the past and not as much on the present. In this case, past and present perfect more or less convey the same meaning. However, you can see the difference in a pair of sentences as follows:
I had the common cold last year.
I have had the common cold since the weekend.
The first sentence refers to a point in the past that's long gone. You no longer have the cold. You had it in the past. The second sentence says you had the common cold in the recent past and you still have it. Present perfect will cover time up to now.