When I go out of town I take no smoke and have no problem. Maybe I'm just lucky.
For sleep: Try masturbating, it usually helps. If you sleep with someone ask them to give you a blowjob every night. It might help you sleep. If it doesn't, so what. A blowjob is a blowjob is a blowjob.