As per your private request for me to answer these questions,
Your sentence, "It HAS been 2 years since I HAVE smoked" is perfectly correct in grammar. However it is WRONG in the way you want it to mean. There is a subltle implication here. For two years, you did not smoke but now you are smoking again (maybe you have cheated etc). For the sentence to concur with your semantics and meaning, then you should have written it as,
"It HAD been 2 years since I HAD smoked". Therefore this answers your question about the difference between the two sentences you gave as example,
1. It HAS been 2 years since I HAVE smoked.
2. It HAS been 2 years since I HAVE worked in the company.
#2 means that you are still working for the same company and it has been 2 years already. #1 means that it has been 2 years since you last smoked and is starting the bad habit again. If you used "had" instead of "have", this implies that you are now no longer with the same company.
As for these last two sentences,
1. It has been 2 years since I SMOKED.
2. It has been 2 years since HAVE SMOKED.
#1 is OKAY. The present tense you used implies that at this moment in the present you are talking about a past incident.
#2 is grammatically wrong, your left out the word, "I" and the wrong use of present tense of "have". It should be "had". It can also be rephrased as, "It HAS been 2 years since I HAVE stopped smoking."
"It has been two years since I had smoked". This implies that you are talking in the present about your past decision not to smoke. You can also say, "It had been two years since I had smoked". This indicates you are referring to a past comment of a past decision.
Next time, post your question as a notebook entry. It is easier to use different colors to highlight the changes, emphasis and also to correct your errors in your questions etc.