I'm no doctor, but I would have thought there are other tells in the condition of a person's lungs beyond lung cancer that would indicate that they are a smoker.
Perhaps some sort of rolling coverage based on a person's unhealthy choices? If you do something that actively increases the risk of developing something, you have limited coverage of that something.
If you don't smoke, you get full treatment for lung cancer and the like.
If you do smoke, you only get £x treatment before you have to start paying for yourself.
If you are obese, you get limited amount of free treatment from illness resulting from your obesity.
This might actually give a few people a kick up the backside to change their ways. At the moment, people just do what they want as any issues in the future will be covered.
while i kind of see you point still very faulted system

first up we covered smoking and fatties.
what about people that like to do extreme sports which are more prone to injure themselves. surely they shouldn't get free treatment from the NHS?
what about people that spent their entire free time in front of a PC and start getting RSI? guess they shouldn't be covered either. same goes for alcoholics. guess you could also say sharing the room with someone who has a cold or flu is irresponsible behaviour. why would you put yourself at risk to catch that

as i said i do get your point, but the only way to do this would be if we get rid of the NHS and change to private healthcare