Create a custom view controller class. If you're using storyboards, define a scene for that view controller's interface. Give it a unique storyboard identifier.
When you need to display it, just load it from the storyboard using instantiateViewControllerWithIdentifier:
and invoke it using presentViewController:animated:completion:
. That will push it as a modal. If you want it to be the first view controller the user sees on initial launch, invoke it during viewWillAppear, with animated:NO. That way the new view controller will be displayed before your tabbed view controller appears.
Then you can instantiate and display it any time you need to, from anywhere you need to.