Ok, now I think I get it. I had a feeling you were getting at that before but wasn't sure. Exactly what you're suggesting isn't possible. That is, the designer cannot get access to the underlying code of the form. Imagine, if someone used your component from, say, VB.NET and your designer was trying to parse C#?
I have a better idea though. Create yourself a class that inherits from Component. That means that when it is dropped on to the form it will not be visible, it will be placed in the component tray. Use that class to manage the created models, and act as a container for them. You can expose this collection editing behavior however you like.
Then, in your original custom controls, have a property that allows the user to bind it to a Manager class (that I just described). Once bound, there will be another property that allows the user to select from one of the models exposed in the manager's collection. You will be able to do this by writing a UITypeEditor that shows a dropdown list based on the bound manager's collection.
You could skip having to bind the control to a manager manually by assuming that there will only ever be one manager per form, and walk the components list to find it instead.