Brian,
In TestComplete, .NET plug-ins can only be created to implement support for third-party plug-ins.
You cannot create C# plug-ins for TestComplete UI or program objects: TestComplete is an unmanaged application, and managed code simply cannot be executed with it. So, you can try to create a plug-in (a program object) implementing the needed functionality in C++.
A possible alternative is to create the needed object hierarchy with ODT. The ODT functionality was created for another purpose, but I think, it can be useful in your case (see the attached image). I see two disadvantages: one is that the naming constants will start with the ODT.Data.Group prefix, and another is that, in addition to your objects in Code Complete, you will also see ODT-specific methods and properties. However, you will be able to create and maintain the needed hierarchy visually.