when you go to a doctor about erection difficulties, the first thing they'll want to find out is whether the problem is physical or psychological. they ask you 'do you get morning erections, and can you masturbate ok by yourself?' if the answer is yes, they conclude it is not physical, but psychological (ie caused by anxiety/stress/etc.)
if you are not getting morning erections and not able to get hard ons from watching porn, then it sounds highly likely that your problem is in fact physical.
you don't mention what you take vicodin for..? i don't know what effects vicodin can have on a man's sexual responses... i have no idea. you'll have to ask a doctor about that one.
however i do know that smoking is a tremendously bad idea if you want a healthy sex life, or indeed a healthy life in general. do you realise that smoking is the leading cause of male impotence?
there are also vitamins and minerals that are neccessary for a healthy sex life. not sure what they all are. zinc is one of them. but if you are eating rubbish all the time, then perhaps you are not getting the correct balance of nutrients that your body needs.
you ought to see a doctor. but the only way to find out what is at the root of your problem is to rule out things by process of elimination. naturally this is gonna involve you kicking your smoking habit. sorry. it's just gotta be said.