<p>I want to put in a date and serial number that would be difficult to erase or change. Is it better to print in the number or engrave it in with a laser engraver.</p>
<p>Material will be anti-bacterial PLA.</p>
<p>It will be on free masks donated to schools, I want to make sure we can identify them when they show up at the market or in shops.</p>

It's plastic. Nothing is difficult to remove, but it could be difficult to remove without damaging the functionality of visual quality of the part. If you want to be really devious, you could embed the serial number in an inaccessible cavity
inside the print
that's not visible without breaking it open.
However, I wonder if it would make more sense to drop this. If you're worried about students (?) or educators (?) stealing and reselling these items, does having a way to trace and punish them really benefit anyone? Even before you consider the harms from doing so, isn't the effort spent tracing (and even the effort automating generation of STLs with each serial number and slicing each one to print individually, rather than using a single gcode job) greater than the value of the item you're worried about losing?