hi..i had the same problem as well before..and i've been smoking for nearly 10 years now (GOD!so hard to quit!)
anyway, it has gotten lighter since i used Dermalogica's lip balm (it has SPF in it, can't remember the exact name).
the trick is to use it under your lipstick or lipgloss (every day without fail), and make sure u exfoliate every 3 days with a scrub (or cheaper, use an old tootbrush)
after 2-3 weeks, the stain is considerbaly lighter and now i noticed that i can use lighter colour lipstick which is great!before, always had to choose dark, plum coloured ones (gothic look)...so hope this helps..