Put simply:
1. No, a spare is assigned to a controller
2. No, you need at least one spare per controller
3. No.
In reality you could probably be able get away with one spare per cluster, if you are in a position to be able quickly change the ownership of the spare to the other controller if that's were it's needed.
If you had no spares you'd be getting error messages quite often.
In theory you'd need to lose two disks in an aggregate before you'd lose data. But without a spare ready to go, the rebuild time could be quite high.
It's a risk, do you want to take it?