OK.
A UINavigationController can hold any type of UIViewController. If its subclassed under the UIViewController type, a NavigationController can hold it. Just remember though, that without scrolling capabilities, and with your tab bar, you need to accomodate that in your viewcontroller, and not put anything more than a nagivationbar AND a tab bar's away from the bottom. Just be careful there
There are several options I can think of with your little issue there.
One is to add what you are trying to do as a header to the TableView. Check out the TableViewProgramming guide and you will learn you can put a header over the top, and a footer underneath, the table view you are working on. You can also do section headers too.
The other option, and one I have never tried, (and don't really want too as I feel it has a 50/50 chance of not working ) is to try adding a UITableView to a viewController, and fixing that viewController up correctly. I don't know if this will work, but you would then need to add that UIViewController (an instance of it anyway) to your tab bar.
Something I forgot to mention before. Remember that the name on your tab bar and in the navigation controller is set by this code in the first viewController or TableViewController you add to the navigation bar:
Code:
self.title = @"name";
And your tab bar image is set by:
Code:
self.tabBarItem.image = [UIImage imageNamed:@"tabbarimage.png"];
BTW, do you see how easy it is to do it without IB? IB drives me nutty like this... and still people use it :s