Help PPCG Claus Deliver his Presents!
JavaScript (ES6), 525 492 454 453 bytes

-71 bytes thanks to @Guedes
-1 bit thanks to @Jake Cobb

P=(K,p)=&gt;{y='charCodeAt';n=(C)=&gt;C[y](0)%3&gt;0;N=(C)=&gt;C[y](0)%3&lt;1;E=(C)=&gt;C[y](0)%2&gt;0;O=(C)=&gt;C[y](0)%2&lt;1;f=(U)=&gt;U%2&lt;1;F=(U)=&gt;U%2;M=(U,C)=&gt;C%s==S;s=S=0;a=new Array();G='filter';e=p[G](f);o=p[G](F);J=K[G](n);r=J[G](O);L='length';i=J[G](E);s=r[L];for(S=0;S&lt;r[L];S++){a.push([r[S],e[G](M)]);}s=i[L];for(S=0;S&lt;i[L];S++){a.push([i[S],o[G](M)]);}K=K[G](N);for(S=0;S&lt;K[L];S++){a.push(K[S],[]);}return(e[L]&lt;r[L]||o[L]&lt;i[L]||(r[L]+i[L])&lt;1)?"PPCGmas is Cancelled!":a;}


Try it online !

Non-golfed version

Can be more golfed I think. I just did a litteral translation of the non-golfed version.

This is now shorter than the sum of the CharCode composing "santa" (115 + 97 + 110 + 116 + 97 = 535). Yeay