"I haven't been here for three years. This place has changed a lot."
To me it feels more like a 有 or 已经 (before 三年) or possibly even a 都 is what is missing, but I could be wrong. Definitely not a 了, but 过 would be reasonable.
嗯，错的 In Chinese, the time reference typically comes before the predicate.
To my mind, "I haven't been here for three years" can mean "it's been three years since the last time I was here" or "the amount of time that I've been here has not yet reached three years". What do you think of nao657961's suggestion as a translation of the latter (even though "this place has changed a lot" implies that the meaning here is the former).
I had to think a bit about what you mean, but I'm pretty sure I have it. For the latter case, if you mean "I've not yet been here three full years," there would be an entirely different way of saying it in Chinese that would not even use the verb 来.
Really close! What were you doing 在这里? You might say -- and again, I'm not a native -- 我还没住在这里...
Maybe "我留在这里还没有三年" or "我待在这里还没有三年".
(Hopefully a native speaker can chime in.)
(Interestingly, when I put "I haven’t yet been here for three years" into Google Translate, I get "我还没有来这里三年", and when I enter "我在这里还没三年呢", I get "I haven’t been here for three years".)