First time H1B (currently on F2); change employer before stamping possible?

Hi all,

I am currently on F2 visa in US, with my husband doing OPT (he graduated in May 2014).

I myself have a Masters from one of the top US universities, although I have never worked here before (I left soon after graduation a few years ago), and I never used my OPT or filed for an H1B.

After coming to join my husband last year, I filed for H1B with one small consultancy (call it Employer A). I paid for all associated costs with H1B application, and Employer A has not undertaken any financial cost on behalf of my petition.

Employer A said that any role I join will be contracted through them, with them taking a significant cut (like any typical desi consulting firm I think). Also the health insurace and other associated benefits, bonus etc are very paltry, almost non-existent.

My application went to RFE (RFE was related to firm, since it is a small consultancy), and just last week I got the H1B approval.

Meanwhile I have been recruiting on my own, and I have just received an offer with Employer B. Employer B is a very legitimate firm, and this is for a role directly with them. They want me to join in October / November time frame.

This will be my first H1B. Since I have an approved H1B (I29 petiton), can I use the reciept number (EAC I797 number ) information such that Employer B can file a new H1B on my behalf? I will then travel to India to get the H1B stamped with Employer B.

I want to avoid joining Employer A, as I understand that it is more trouble to transfer employers after starting, especially if Employer A refuses to release me.

Additionally, I do not know whether Employer B will be willing to take me contracted through A - they generally tend to hire Masters candidates directly into the firm.

Since I have just received approval for my first H1B, is there any problem if Employer B takes it on, or am I forced to join Employer A? If Employer B can take it on directly, is there anything I should do before I approach them?

Thank you everyone in advance for your advice. I am in a dilemma, and there seems to be little advice on this situation online.