My son has twin boys in his preK class who do this, get themselves so upset they vomit.
1- Talk to the pediatrician. If they can't give you GOOD answers, ask them to recommend someone who can.
2- Don't give into it. Don't pity her. Make her clean up her own mess, every single time. Eventually, she's going to get over having to do that (this worked for the twins, and the twins were a VERY severe example of this).
3- Ask her why she gets so upset. She needs to learn to better manage her emotions. Explain that you understand that she doesn't want to go to grandma's/school/clean her room, and sometime's mommy doesn't want to go to work, but you do what you have to do. End of story.
The more she does it, the more it's going to become less habit and more involuntary, meaning, her body is automatically going to learn to vomit whenever her emotions get out of control. I know adults who still vomit when they're overwhelmed or over stress. This needs to be nipped in the bud NOW.
It WILL get better but you HAVE to be persistent and not give in to the tantrum.