1. Ideally I would like a simple program (with side, top, front and perspective views where I can draw wireframe models - perhaps using primitives such as cubes, pyramids, lines and be able to move the vertices around in 3D coordinate space
For the first part, there are many programs for manipulating them. Blender, Maya, 3D Studio, and others can manipulate meshes.
From your description you generated a more complicated mesh than you needed. Subdividing models like a cube can be a very good thing on modern systems that operate on a per-vertex basis, you need more of them for your shaders and effects to appear smooth. Nothing prevents you (with your artist hat on) from reducing the model down, or generating a more simple model in the first place.
If you know what you are doing, it only takes a second or two to build the low-poly models that you describe in the modern 3D modeling programs. You just need to give it the right parameters.
2. If I had a pyramid for example, I would like it to appear as float arrays similar to this:
Not even the old tools generated output like that.
Even going back to the 1970s in the days of Evans and Sutherland's early 3D tools being everywhere, graphics tools still dealt with data file rather than trying to make it part of the executable like that.
So you'll need to build an exporter that dumps it in C format, or hunt around on the internet for someone who has written them, but I doubt there are many. Data files for graphics are generally meant to be loaded as data.
After you've got your data file exporter, the content will almost certainly not look like your example. Unless you are hand-coding every piece of data they probably won't be all ordered perfectly in a human-preferred sort order. You may happen to get lucky with your polygon ordering and your export ordering, or export immediately after creation and happen to have the model generated in your preferred way, but probably not. For just those 8, you've got 8 factorial (over 40,000) different ordering possibilities, so almost certainly they won't fall into that nice simple human-sorted ordering.
Mercenary in particular was written in 680x0 assembly language
There were games in that era where every CPU instruction was chosen by hand, where every data point was hand crafted, where every byte was accounted for by the game programmer, and the programmer knew exactly what every instruction in his game was and why it was there. If that is the type of games you want to build, it will require a far more work and learning.
I usually wouldn't recommend that route except for a learning experience because you are determined that want to learn it. The route is difficult and was abandoned for many good reasons, including the high costs of human effort, of specializations, of difficulty and time.
You can certainly do it, but that's not something you will get as output from any mainstream tool. You'll need to craft it, or at least parts of it like exporters, yourself. Artisan games generally require artisans to make.