Student or Learner
Is this right: I'd say you've been smoking for years.
Is the tense okay here? It is a conversational.
I'd say, you've been smoking for years.
Unless you're not guessing that he/she is a smoker or not, "would" would sound a bit odd. And I'd put a comma after "I'd say".
Another thing is;
It is conversational. Or, It is a conversation. Furthermore, it actually would be a (small) part of a conversation.
And as for your original question, yes, you used the correct tense.
P1: Quit smoking! It's not good for your health!
P2: Oh, come on, I've been smoking only for a couple of weeks!
P1: A couple of weeks?!? I'd say you've been smoking for years!!