Here's what I think, Fred, for what it's worth...
Firstly, I think you dealt with today's incident perfectly well enough. :) Both your DCs behaved badly; you've challenged them both and sanctioned them both. People could (and probably will) argue about precisely what sanctions each of them deserves - but you did a reasonable job of weighing things up and did what you thought was right, which (let's face it) is the best any of us can ever do.
However, you have an underlying, 'chronic' problem that you need to handle differently - not (necessarily) because you're doing it wrong, but because what you have done so far just isn't working - your DD is still being vile.
You say you have already been punishing her for this behaviour. Because of this, I disagree with the people who say you should punish her harder and think you need to find something else.
By and large, humans (not only children) are not much motivated by punishment. I know lots of people will disagree, but the evidence is pretty clear: punishment doesn't really work very well. (See here for some reasons).
Also, people (including kids) tend to behave badly because they're not very happy. Your DD doesn't sound happy. I can't tell whether she's angry, or sad, or frightened, or jealous, or something else nasty, but whatever it is, she's not feeling good. Punishment will inevitably make her feel worse and there's a risk that it will therefore make her behave worse.
Lots of people confuse 'punishment' with 'consequences', IMO. Yes, a child needs to learn that there are consequences of bad behaviour; but the most powerful lessons come when these consequences are natural (not artificially created by a parent). In this situation, your DD has experienced several natural consequences - she's had her hair pulled, been kicked, had to eat alone, made her brother and her mother angry and had to deal with the unpleasantness of that... She might have learned a really useful lesson! But if not, you have some work to do highlighting the natural consequences of her being so nasty and making sure she understands them: her brother won't like her; he won't do her any favours; you'll be angry with her; you won't feel like giving her treat... Etc. Every time you notice a natural consequence of her nastiness towards her bro, point it out.
So, rather than punishing your DD, IMO you need to motivate DD to be pleasant. Reward and positive reinforcement work better than punishment. The best rewards, again, are natural ones: people are most motivated by 'intrinsic' rewards like making other people happy, and feeling good about themselves. Your DD might not be very good at recognising the 'good stuff' (lots of us aren't), so you can help, but pointing out to her every time she's pleasant and telling her how pleased that makes you feel with her.
Most importantly, perhaps, you need to show her pleasantness does reap rewards. If your DS is 'easy' and nice, and yet doesn't get much praise or attention or treats, it might be that she's learning "pleasantness doesn't pay". You need to reinforce the good stuff, which means making sure that your DS gets lots of attention, appreciation and praise when he's pleasant - much more than she gets if she's unpleasant.
As well as praise, some other things that motivate people are:
- Appreciation: this is like praise, except you can appreciate things before they're done - you can appreciate her effort as well as any success...
- Attention, especially yours: give her more, but make sure you give attention to the behaviour you want rather than the stuff you don't want!
- Challenge: set her a certain period of time to be nice (a mealtime, an hour, a day, etc.)
- Success: make sure she succeeds in these challenges - so start small with something you're sure she can do. For instance, challenge both of them to say just one nice thing about each other (pick your moment carefully!) If you think she can't be nice about her brother at all, then start with something entirely different, to give her lots of experience of succeeding at something you've asked her to do, and then move on to the 'being nice' stuff.
- Learning about herself: most people are motivated by learning (though not necessarily by school). Help her reflect. As well as asking her "Why did you do that?" when she's behaved badly - which might be too difficult - just help her notice her behaviour to start with, by asking something like "Did you mean to be so rude?", "Did you notice how horrible you just were to DB?", "Oh, that was a much nicer way of talking! What do you think made it sound so nice?", etc.
And also, I'd say it's worth trying you think will help your DD to feel happier, because that will almost certainly make her behave better.
Goodness, I've waffled on long enough, I'll shut up now in a moment!
I'm not saying your DD should 'get away with' being horrible to her bro. I'm saying that focussing on the horribleness and punishing it hasn't worked; so instead you could try focussing on the positive, and leave the negative to take care of itself...