You can change or add new unavailability state labels in 'AgentAvailabilityCall' navigation rule. But you have to use new Reason codes for the new states and need to check the impact on the reason codes where ever we are using.
Third is also easy to achieve with a WHEN rule as the visibility condition on the menu item.
For ex, based on the 'position' of the operator, you can create a when condition and use it as a visible condition in the navigation menu item.
For the last one, who ever have access to Designer Studio can make these changes. There are no special administrative places for it.