I totally get the feeling of NEEDING the job, and hating that feeling! I used to feel so superior, I had recruiters contacting me all the time, I had coworkers who'd moved on to other hospitals contacting me asking me to come work there...I always knew I could get any job I wanted! I switched from full time to PRN as soon after my internship ended as I was allowed to in the ER, and my sense of freedom increased. I could float to the ERs in any of the hospitals in the system where I worked, so if I disliked a manager or a coworker or MD, or just didn't like the processes, or heck if I didn't like their cafeteria!! I could work at a different hospital, there were always available shifts. It was freedom! And I loved it.
Now, we don't have that freedom, like at all. We can't just leave the job we hate, it took forever, and a lot of humiliating interviews and rejections, just to get it. We have to put in the time wherever we are, at least to get the minimum required work time in that our program requires, just to be able to complete the monitoring, but usually we need to keep it throughout the monitoring cuz we know we may not be able to get another one. For me, I can't do PRN anymore either, since after my divorce I lost my health insurance that was through my now ex husband's work, and I need the money of working full time to pay for my rent, my own health insurance and my two sons' health insurance, and my half of their college tuition, fees, books, their apartments and living expenses. So I've totally lost any tiny bit of freedom in my employment, which I believe is a big reason that lately I've started really disliking my job!
So yeah, it sucks, you can't really stand up for yourself without risking consequences. Some people may say you can, call a meeting with HR and that manager, but really, all we want, and NEED to do, is to stay under the radar. You put yourself on his black list for getting HR involved, or really for even making a stand against his unprofessional conduct, and you'll just find yourself in trouble later on for some other unrelated reason. I've seen it happen, if management wants you gone they will find reasons.
On a semi positive note, your concern that you just stood there and let him berate you and didn't feel like you could stand up for yourself because of your ex addict label may or may not be true. I think that given his mood and anger, there's really no way you could've made him see that he was being unreasonable and unprofessional. Regardless of who you are, monitoring contract or not, he wouldn't have taken any criticism or back talk well, and you, or anyone he'd come across in that mood, would've probably just gotten yourself into trouble by trying.
I'm sorry this happened to you. This too shall pass.