Firstly, I personally do not know how to make a UILabel accepts touch events, as I would use a UIButton and set its "Type" to "custom" (if you did not want a border/background), as that's what a UIButtons purpose is, whereas a label is simply for displaying text.
Then to get a UIButton to display another UIViewController - if you are using IB:
With your NIB file displayed, alt-click on the header file for the class to show it alongside the NIB file
Control-drag from the UIButton to the method section of the header file which will open a popup window
Change the connection to Action and give the method a name
Now go the this new method in your implementation file for the class and do something like:
ViewController *viewController = [[ViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] viewController];
[self presentModalViewController:navController animated:YES];
changing ViewController/viewController to whatever the view controller you want to show is called.
This code will present display the view controller modally, so you may need to change this depending on how you wish to display it.
I hope this helps,