There are two separate issues here: grammatical correctness and common usage. All of your examples are grammatically correct but common usage requires use of an article.
It is important to understand how an article changes the meaning. Once you understand the meaning of "I have backache", you may understand better why we do not say that, even though it is not wrong. Without an article, "backache" is the name of a condition, or disease like "influenza". Without an article, it does not describe your particular backache (which is what you normally want to describe), but rather all backaches.
We say "I have influenza" to name the disease we have. We say "I have a backache" to talk about your particular backache. Your backache is personal. Ouch! It needs an article. If you said "I have backache" you would be turning "backache" into a disease. That is not wrong. We just don't think of it that way. I can't say why; it's just customary.