There are decent minecraft world format libs around for java. The other option could be python and the pymclevel lib that MCEdit uses. MCEdit can write changes TO a world, so it must be decent and usable. I have no idea how good are any of the available libs at generating a world from scratch though.
World height is a problem. DF worlds are higher than MC allows, if you want to keep enough detail to be able to walk around in the tunnels. Old DF2MC converted 1 DF tile into 3x3x3 MC blocks - 1 layer for the floor, 2 for whatever other stuff inside. It had to remove 'boring' layers to fit the world into the MC height limit most of the time.
The IDEAL way to do this would actually be a minecraft mod that uses data from DF as part of worldgen. No need to deal with the low-level stuff related to minecraft saves. It could even sync up with DF adventure mode and show you the world as you go through it. If you made the player only 0.7m high in minecraft and added a bunch of custom blocks for the MC equivalents via modding, you could get something roughly comparable (and less weird/cut off). This would be a lot of effort however, not only to make, but also to maintain it.