Oops, looks like I never replied back to this.
My proposed solution would be in perl.  
Summary:  
Invisible man controller spawns with 0 spider tokens.
Each time a spider is killed, it signals the controller.  Controller increments spider token counter.
Once the controller has 20 spider tokens, spawn2 or unique_spawn whatever your boss npc id is and resets spider tokens to 0.
	Code:
	#invisible man controller
my $spidertoken = 0;
sub EVENT_SPAWN 
{
	$spidertoken = 0;
}
sub EVENT_SIGNAL 
{
	if ($spidertoken < 20)
	{
		$spidertoken++;
	}
	else
	{
		spawn2 whatever
		$spidertoken = 0;
	}
}
 
	Code:
	#spiders
sub EVENT_DEATH 
{
	quest::signalwith(controllernpcid,1,1);
}