Both are correct and currently in use. The plural version is more colloquial.
I don't think so. You can't just switch it to singular, and leaving off the indefinite article is irrelevant. Consider the equivalent, changing "she has black dogs" to "she has black dog". See? Nonsense.
You can only trick yourself into believing it might work because "hair" in English is both singular and a bulk noun, so it still sounds kind of right to say hat Haar. But it just doesn't work that way in German.
Yes, it does work like that in German:
I guess your confusion is because the German sentence uses the plural, but the English seems to use singular? Well, think about it - the English sentence does not mean she has a singular long hair. English uses a mass noun here to refer to an amount of something that can't be counted (like "sand" or "water"). German just usually uses the plural in this specific situation.