I have alot of close male friends that I'd defend to the death, I always end up lending money, covering their back etc- It's guys that I have been screwed over for no reason with and turned out to be complete snakes. But women are bitchy and the can be manipulative and I agree it will often come down to the petty and personal (saying you have a small dick etc)
The simplest thing would have been to tell her from the start- her knowing you can keep things like that from her will make her insecure and defensive- if she's a bitch she'll use it to attack/lecture you for the hell of it. If she doesn't appreciate your openness and honesty if you told her before getting serious, or if she suddenly feels you any less of a good person just because you grow (and she doesn't want to smoke with you!!) is she really someone you want a relationship with? Or is she just the pretty one there for sex?
Find yourself a woman you can trust- who loves and accepts who you are and what you do. You deserve it.