Is it correct to say : since a long time instead of for along time & what's the difference?
Since usually requires a specific time as a starting point. For a long time is descriptive of the duration, but has nothing to do with when the long time commenced (began).
That is actually a fairly classic error made by French-speakers. Since, in English, refers to a specific time, and not the period between that specific time and some other time. The word for the intervening time period, in English, is typically during, or "for". I have NOT done that since last week, but I have been doing that for the past week (these would mean the opposite things). One could say "I have done that since last Thursday", perhaps, but it lacks the idea of continuity of "for" or "during".
Since=it started then.
for or during= all through the time period (all the time since the start).
I have eaten lobster since I was five years old.
I have been eating lobster for the past 30 years.
Generally, the verb tense has to be different when using since rather than for. A punctual verb form should be used with "since", in most cases. It would not generally be seen as acceptable to say "I was eating fish since last Thursday" (should be "I have eaten fish since...", but you definitely could say "I was eating fish for all of that month" (or "I have been eating fish for a week now").
Since a long time means that a lot of time has passed since something happened. For a long time means that something continued to happen over a long period of time.