This is definitively possible in IOS 4 :
You have a view controller "A" with its view :
- Alloc init the view controller "B" you want to had on your view controller "A"
- Call (void)addSubview:(UIView *)view on the view of the view controller "A" with the view of the view controller "B" as parameter
- The frame of the view of the view controller "B" is set to fullscreen because of addSubView, so change it to put the view where you want on the view of view controller "A".
- Add some UIView animations when you change the frame to have a good display.
On IOS5 just use the method on your view controller "A" :
- (void)addChildViewController:(UIViewController *)childController