Hi !
1. Yes you can there is a command in the "DBProBasic3DDebug.dll" called CreateNewObject. which creates a new empty dbo object in the memory by a given id.After it is sucessfully created you can add meshes to this object.Just create a pointer to this function first
GetProcAddress(g_pGlob->g_Basic3D, "?CreateNewObject@@YA_NHPADH@Z");
2. The object structure is sObject. it's the standard structure dbpro uses for all objects. (the header file is located in "Help\documents\Files\DBO Loader\" called DBOData.H
you can download the "D3D Functions dll" from the forum which is opensource and there is a function which converts a D3D primitive into a standard dbo object.Just follow the code and you will see how it works.