Is it grammatically correct or colloquial to use "for" with present simple tense as in the following examples :
I do this business for ten years.
I teach Math for five years.
I run this company for years.
No. We almost never use the simple present with "for". We can use future or past (I will be there for an hour; I was there for an hour) but for states or activities that are still continuing, we always use the perfect: usually the perfect continuous (I have been studying French for two years), but for verbs which don't normally take continuous forms, the perfect (I have been here for two years).
Sometimes both continuous and non-continuous forms are acceptable: I've watched him for an hour vs I've been watching him for an hour. The latter draws attention to the continuing nature of the watching.
You may not need to say for, but have the word 'have' in second? i.e
I have done this business for ten years.
I have taught Math for five years.
I have run this company for years.
I also am not quite sure you would use simple present tense for this; maybe refer to this from Grammarly.
We use the simple present tense when an action is happening right now, or when it happens regularly (or unceasingly, which is why it's sometimes called present indefinite). Depending on the person, the simple present tense is formed by using the root form or by adding ‑s or ‑es to the end.