Do you have basic numbers like:
- how long does it take to read a tag now?
- how many tags pass each minute?
- what is the speed of the conveyer belt?
- are boxes side by side or behind each other?
- etc.
You might just gain time by putting the Serial port in a higher gear if the receiving end can cope.
Serial.begin(500000); or even 1 million bits.
That gives more time to the tag-reader.
Are these two lines needed in loop()?
nfc14443.reset();
nfc14443.setupRF();
Why?