Yes, you can do this using the controller GUI. Go to the Wireless tab and click on an access point. You'll find a place to enter Primary, Secondary, and Tertiary controllers. Be sure to enter the hostname (not IP address or domain name), and apply the changes.
For the AP to change, you'll either need to reboot it or configure AP Fallback Mode (under the Controller tab). AP Fallback Mode forces APs to switch to their primary controller if for any reason they are not currently on their primary.
To make sure all APs know about all controllers, be sure that all controllers are in the same mobility group, and that all controllers know about each other. Configure this under the Controller tab, then on the left -> Mobility Management -> Mobility Groups.
I'm not sure what you mean. APs will register to their primary controller if it's available. If it is not, or if it becomes unavailable after registering, the AP will move to the secondary controller. This happens automatically.
If you have AP Fallback enabled, then the AP will fall back to the primary when it becomes available. If you don't have AP Fallback enabled, you'll need to reboot the AP via the WLC GUI.