The magic in Catel happens via the UserControlLogic class. This is a class that can be used by all UserControls and makes sure that once the view gets loaded, the magic happens.
If you want the views to support the Catel magic, make sure to derive from Catel.Windows.Controls.UserControl or create an instance of the UserControlLogic in your user controls yourself.
I think the best you can do is create a "TabItemWrapper" class that derives from Catel.Windows.UserControl (so you get all the magic) and you can put the content in there. Note though that view models are by default resolved by naming conventions, so even for dynamically created views you can follow the naming conventions.
btw. Creating views in your view model isn't really MVVM. Creating views, etc can be done in services (which you can mock) or in the code-behind (yes, code-behind).