Assuming Features can not be created before creating a Product itself,
how can I create a Product and its Features, inside the Products popup (i.e. assign the Main tab for product fields and create a new tab for Features).
Not sure if you have the option but I think using SilverStripe 3 takes care of this case for you by default. Certainly it is easy in 3 to add a tab to the getCMSFields() function if the record exists - so a tab for managing features would not appear first time you create the Product DataObject.