Solution...
I know this is an old thread, and I know it's my only post... Big bad idea to resurrect old threads... But since I arrived here looking for a solution, I thought someone else might down the road.
The true/false switch won't work. The function is used to check for additions to the ban list as well. So once you make the switch, you can't add anyone to the banlist because it thinks they're already on it.
The concept (banlist to whitelist) is great, though. And it only takes three little tweaks to make it happen (from what I can tell on my testing). Really you're just reversing the logic (adding a "!") in two statements...
In include/class.ticket.php:
if(!$errors && BanList:($var)) {
...becomes... if(!$errors && !BanList:($var)) {
And in include/staff/viewticket.inc.php:
if(!$errors && ($emailBanned=BanList:($ticket->getEmail())))...becomes...if(!$errors && !($emailBanned=BanList:($ticket->getEmail())))
And scp/tickets.php:
if(!$errors && BanList:($ticket->getEmail()))...becomes... if(!$errors && !BanList:($ticket->getEmail()))
So, it won't do it by domain. No without some adjustments to some logic in other places, at least. But this will make your banlist into a whitelist.