Yes, you can instantiate any sort of view you want, configure it, and add in to another view (like a window's contentview) programatically.
For small one shot projects this is fine.
On the other hand if you want to make an GUI which is easily localizable (translatable and resizable) then you are better off using nibs. You can layout your dynamic portions in separate views in the nib and swap them programatically at runtime.
Go peek through nibs in Apple's apps for ideas.