Hello! My name is ***** ***** I'll be the Expert assisting you today. Charging the $200 nonrefundable cleaning fee should be fine so long as it is in the lease terms.
Regarding whether or not holes in the wall are wear and tear is a more difficult question. It would basically be up to a judge or jury to decide on the definition, which means you can certainly charge them for it and then see how they react. If they refuse to pay the difference (assuming it is more than the security deposit) you can take them to court. Or, they could take you to court, claiming breach of contract since you are trying to charge them for what they would presumably claim is normal wear and tear.
However, the fact that the terms of the lease require them to ask permission before hanging items on the wall will lean heavily in your favor. It sounds like they are in clear violation of the terms, so regardless of whether or not the holes are normal wear and tear, you can claim your damages for their breach of the lease terms.
Yes, you can certainly give them the opportunity to fix the holes themselves. If they do so, then it will no longer be an issue.
You can charge them rent while the unit is vacant, unless there is some sort of buyout provision for breaking the lease (and assuming the tenants paid it). However, if you want them to move out a few days earlier, that could be a problem as they certainly have no obligation to do so. If you want them to move out so you can get new tenants in there, it would be best to come up with a separate agreement that modifies the terms of the lease.