Custom node

Is its possible to create a custom node using the Python/Plugin system ? I was hoping to create a custom instance node (so I could instance the same geometry multiple times, kinda like the VertDupl system but more suited for game level design, but with advanced features like the ability to vary materials on each instance).

materials can be linked to objects instead of meshes, allowing linked duplicates to have different materials [hit the OB button in the material buttons [instead of ME] and then select the material]

no, it isn’t possible to create new object types using python