Might be the starter switch. Next time it doesn't crank, check terminal 11 of the diag connector for +12v when someone turns the key to start. If there's no voltage there, jump +12v from the battery to term 11 and see if the car cranks.
How's the battery, anyway? When you have the problem, is it a lot of clicking relays, or does the car just go totally dead? Either case could be a dying battery, bad ground strap, or a hard short somewhere.
You also might want to look at relays K5 & K7...they're supposed to "unload" when the starter engages to crank the car. If they're not opening up, the car's other electrical systems will not be disconnected, dramatically increasing the load on the battery.