I'm not sure if this is quite what you're looking for, but you could use a Quest Global to select someone at random from the Hate List:
Code:
$mob->GetHateRandom();
I
think you could then use another Quest Global to cast the spell on them:
Code:
$mob->CastSpell(123, $mob->GetHateRandom());
That
should cast a spell with a Spell ID of 123 on a random person in the hate list.
You might be able to find a way to work back from that Client ID given by GetHateRandom to get the group ID, then find out who's in it, but I wasn't able to find anything like that just browsing through the quest globals.
Hope this helps.