To let the local police know that there's going to be a demonstration. That way they can redirect traffic to not interfere with it, as well as set up security measures in case the protestors get violent.

Requiring a permit to protest is not a 1st Amendment violation. However, denying said permit on the basis of what the protest stands for would be.
Exactly. I agree with requiring permis, because people do stupid s**t.