We say the expression “have a headache” to refer to a continuous pain in the head. The expressions “have headache” and “having a headache” are incorrect.
In British English, you can use the expression “on holiday” to mention a period of time away from school or work. This is the equivalent of the American “on vacation”.
In American English, we typically use the expressions “on vacation”, “being on vacation”, or “going on vacation” (without the article “a”) to refer to a period of time (away from school or work) to relax or travel.
We use the expression “have lunch” (not “have a lunch”). However, when using an adjective or a compound noun, we add a determiner (typically the article “a”) before the noun.