Keep your jealousy under control - it IS doable. Explain to your boyfriend how you're jealous etc and know that you're being irrational, because if you're talking about it then your bf can reassure you and make you feel better and understand better, and if you know you're being irrational then at least you're realising for yourself that there is actually no realistic threat and therefore you can keep things under control.
I'm not sure it's actually wrong for the bf to go out with the girl for her birthday, considering there was another friend present so it's not a date? Did you know about it beforehand? I guess if you didn't know beforehand then your bf was being slightly insensitive given that he knows how this girl fancies him, but otherwise I don't really see what's wrong. I mean, I went out for a day with this guy friend of mine and later all my friends told me the setting was completely date-like and I hadn't even noticed. My bf was understandably jealous but he just laughed about it and made a joke about it and that's it.
It'll take time to get your jealousy completely under control, but be confident in yourself and in your place in your bf's heart. What makes you think this girl can replace you? What makes you think this girl's better than you that your bf would fall for her? He's with you for a reason. She's not a threat. So let their friendship be and whenever you feel jealous, talk it out with your bf. Trust him to do the right thing - he'll notice if/when it is an issue of concern and just trust him to back off when he feels it is necessary. The more you trust someone, I've found, the more that person tries their hardest not to betray that trust if they actually cared about you.