1. Pausing a game can be done via Time.timeScale = 0, and is not in any way related to NGUI. If you are asking how you can prevent input from falling through to your game, create a UIWidget covering the screen and give it a collider. There is no equivalent of Console.ReadLine, if that's what you're asking for.
2. All widgets in NGUI have alpha, and it's cumulative. Meaning if you have a UIWidget on your button and this button has a label underneath, changign the button's alpha to 0 will also hide the label.
3. EventDelegate.Set(button.onClick, SomeNewFunction);