I live here for two years.
你的句子之所以错误,不是因为 live 作为延续性动词后面不能跟时间段,而是因为句子的时态不对。因为这里要表示持续一段时间,可以改用完成时态。如:
I’ve lived here for two years. 我在这里住了两年了。(从过去到现在已有两年)
当然也可以改用其他时态,只是意思有所不同:
I lived here for two years. 我在这里住过两年。(但现在没有住这里了)
I had lived here for two years. 我在这里住过两年。(根据上下文可能是指在某个确定的过去时间之前住过两年)
……