Managing Serial between Processing and Arduino

That is a crude form of handshaking, really.

Of course it can, its' your code. But the serial buffer isn't infinite. You have to look at it, when you're ready, and decide - hmm, buffer is nearly full, better discard a message, and on that basis strip characters until you hit an end-of-message marker(line feed, whatever), then process another command, OR, well, buffer isn't filling up, so process from start.
That's what I'd try, anyway. It all depends if those processing messages are all important.

Yup. Serial is sorta dumb that way. You don't get a little flag that waves, saying, Hey, I've got a new complete message for you. But many people have realized that, and simply written a buffer handler that pulls characters from serial and sets a flag when a complete message is in. It might need to get smarter, though, if it's possible to queue up more than one...

Lastly, try to write your code to keep up. That sounds kinda trite, but it's the fact of the matter. I still haven't seen any code; I assume this is all theoretical, "maybe tomorrow I'll write it like this" kinda stuff; so this is where I walk away. Good luck!
Oh, and yeah, String. Not so much. Might work fine on the Minima, ask others(isn't there a minima forum section?); it's there on the Uno, etc. but it's a memory thrasher, and the Uno doesn't do memory management, etc. so most avoid it like the plague. It might be a great tool, elsewhere, but it's deathly on an Uno.