I think it is because 'have you been' refers to the length of past time you are enquiring about. We use the present tense when referring to the future: "How long are you staying here?" expects the answer "Until Sunday / for a further week" etc.
So "How long are you married?" sounds very confusing to a native speaker.