First thing to check is that are you indexing your tables right. In this case atleast PlayerID and KID should be indexed. Other thing that will slightly slow down your app is when you use count($playID) in your for clause. It will execute that count in every iteration. So either set a $cnt var for that before the for loop or get rid of the for loop and replace it with foreach.
With foreach it would be like this:
foreach ($playID as $k=>$v)
{
$sql = sprintf("UPDATE stats
SET League2 = '%s', GP2 = '%s', G2 = '%s', A2 = '%s', TP2 = '%s', PIM2 = '%s'
WHERE
PlayerID = %d AND KID = %d",
$League2[$k],
$GP2[$k],
$G2[$k],
$A2[$k],
$TP2[$k],
$PIM2[$k],
$v,
$kid[$k]
);
mysql_query($sql);
}
If this data has to be updated, I dont see how CASE could help you in this case. As I dont know how your app works, I cannot give you any other optimization advice than to do some profiling on your page that you know what is causing slowdown. If its mysql related and your queries take long time, this would be seen in slowquery log. If youre on shared webhost you probably dont have access to that log so you have to ask your host about it.