Once "a" is removed from the above sentence, it becomes ungrammatical as follows:
*I made mistake.
Now, is this sentence ungrammatical because now mistake isn't indefinite anymore without "a"?
No, your example sentence is ungrammatical in English because the rules of English require that all singular countable nouns have some sort of determiner.
As far as I can tell, "a" is needed here not because we need to make mistake indefinite but because we need to make it an individual, separate entity.
"Individual, separate entity": this sounds like the semantic category of "specificify".
By contrast, the semantic category of "definiteness" concerns identifiability. You use definite markers when you think your listeners can identify the referents of your noun phrases, and you use indefinite markers when you think your listeners would not be able to identify the referents.
When you say "I made a mistake", you know what the mistake is, but your listeners do not because this is the first time that they've heard about it. If you go on to explain what the mistake is, then it becomes appropriate to say "the mistake" because your listeners can now identify what you're talking about.
Wikipedia gives a few helpful examples which show that the English articles, when they are present, do indeed mark definiteness (identifiability), not specificity.
I'm looking for the manager, Ms Lee. [definite, specific]
I'm looking for the manager, whoever that may be. [definite, non-specific]
There's a certain word that I can never remember. [indefinite, specific]
Think of a word, any word. [indefinite, non-specific]