To optimize speed speed you can what chrono said, use batching. If you have a lot of objects you need to render you could dump them all to 1 vertex array and dump that with one render call to the screen.
Or you could use instancing. Use 1 vertex array and render that to the screen several times using one render call.

Then again: 100,000 objects * ~750 triangles would be 75.000.000 triangles to render. That combined with with some optimazations lets say you have only 25% visible = 18.750.000. It will run around 1-5 fps . Not very realistic.

However if you want to achieve this, you should considering using sprites. See this article about true impostors: http://http.developer.nvidia.com/GPU...ems3_ch21.html

EDIT: Would it be possible to make only one octree and minimize the overhead of 2??