OP,
The situation sucks, definitely. I have quick reflexes and if there is one thing that enrages me, it's getting hit in the face. There is a 90% chance I would have hit her with a closed fist in a right cross before I even fully considered what was occurring.
The proper legal thing to do would have been to step outside and call the cops. Assault is a serious crime, and she would have been arrested on the spot and booked into county/city jail. I personally know a guy who was hit by a girl; he called the police, she went to jail. The cops had no tolerance for her bull**** and she sat in jail until released on her recognizance a couple days later. To my knowledge, she has never hit anyone again. I suppose she learned a valuable lesson, haha.
Anyways, your friend should have body slammed her, thrown her into the car, taken her home and put her in time-out; treating her like the child she is. That's exactly what I would do if my ball-n-chain hit a good friend of mine. I have zero tolerance for that kind of behavior.
I believe you did say he slapped her back, hard, but the disrespect remains. I don't think I would be able to have her around anymore. It would never be far from my mind. Unless she showed up at my door with a black eye, freshly baked brownies and profusely apologizing, I suppose.
It's hard for me to even imagine my girl striking a good friend. I would be enraged and ashamed. That is one disrespectful, disgusting broad.