The three common pseudo-3D techniques I know of are isometric tile-based engines, ray casting engines (ala wolfenstein/doom), and voxels. the ray casting engines are realy designed for indoor settings, so you can probably ignore them.
Isometric tile-based engines are reasonably easy to write. Someone mentioned populous, I think they used this model. The older XCom games also used this to good effect. Basically, you draw your tiles with an offset along the (screen) y-axis based on how ‘high’ the tile is. The trick is to make the altitude transitions look nice, no staircase effect. I think gamedev.net has a whole forum dedicated to isometric engines.
Another pseudo 3D technique you could look into is voxels. The nice thing about voxels is they can be very smooth & good looking. But they have lots of problems - they are memory and CPU hungry, and CPU usage scales very quickly as you increase your image resolution. I spent months trying to get a decent voxel engine running in Java and it was pretty tough. My final results were pretty good looking (IMNSHO), but it ran too slow to use in a game (~20 fps on a 1.2 Ghz machine). That’s not to say it’s impossible, just probably not worth the effort.
Sorry I never played C&C so I can’t comment on that. From some screenshots it looks like the 3d appearance just comes from the way the artists drew the maps. If elevation affects combat they probably store a second bitmap (heightmap) with the elevation at each point on the map.