I don't see how you can report the offender without reporting Friend #2.
How about trying this approach first? Everyone (including Bob, Friend #1 and Friend #2) agree not to make gay jokes anymore at work so that the people who are really anti-gay can't use this as an excuse to join in and make them also.
The offender may not risk being the first to make an anti-gay joke in the future. But if he does, there are ways to play it so he ends up feeling like an idiot.