speaking as a learner, not an expert, it seems that the "for a long time" sense of долго seems to trump the immediacy of the present tense... "for a long time" necessarily bleeds backward into past, so the combination of the past leading up to the present seems better expressed in english as "have lived" or "have been living" rather than "live" or "am living".
I am pretty sure that when one wants to indicate duration you have to use the present perfect and can not use the simple present, so "I live here for a long time" is wrong for that reason and should be "I have been living here for a long time" See http://www.edufind.com/english-grammar/present-perfect-and/
This is really a comment for the course organizers. (Note that I can not get back to the other item to make this comment there.)
In the sentence "Том долго тут работает", the answer "Tom has worked here for a long time" was rejected and only "Tom has been living here a long time" was accepted. Just as "I have lived here for a long time." is a correct translation for this item, "Tom has worked here for a long time" should be for the other.
Simply put, yes. English also uses one of the four present tenses for this construction called the present perfect tense (For example: I have lived - see here http://www.easypacelearning.com/design/images/verbtenses.jpg). All of our English tenses do not exist in Russian, so this is made up for through other means.
So, долго always extends back into the past and not to the future? Imagine someone asking you about your plans for the future. Since you have a low-paying job and you're stuck where you are for as long as you can tell, you might say sadly, "I'm living here for a long time." Or maybe you move to a beautiful place and you're as happy as can be. "I'm living here for a long time!" you say to yourself as you look around your home.
Both of these situations imply that the long time is in the future, even though you're speaking in the present tense. Can it ever work the same way in Russian?
I can't reply to other's replies or posts for some odd reason, so don't expect a reply :/
Would using the perfective of жить here imply that the speaker doesn't live there anymore?
No. Translating between Russian and English tenses can be counter-intuitive for speakers and learners of both languages. I cannot give any general rule-based explanation, but in this example, if you say Я долго здесь жил, you mean that you are no longer living here, i.e. "I had been living here for a long time". To indicate that you are still living here, you need to use the present tense in both Russian and English—but English has more than one.