As for power generation in dwarf fortress, you can do far worse than to read this thread.
http://www.bay12forums.com/smf/index.php?topic=99317.0I've gotten into the habit of when I need power, I'll create as large as a pool as convenient, In many cases, the pool is far larger than what I need immediately, but since the only cost is a bit of digging, it's no big deal. Now, I'll initially use only as many water wheels as needed, but if I need more power later, it's easy to add more wheels, but a lot harder to increase the size of my pool. Usual method of pool generation is as follows.
1. Dig out pool area to include smoothed and carved fortification to provide drainage. Pool has 2 floodgates. One at the entrance, one at exit. Also pool is entirely confined to a single level without any openings and such for water wheels (e.g. It's safe to have pressurized water in it. No flood danger).
2. Now close output flood and open input flood gates and turn on the water. Allow the pool to fill.
3. While keeping input flood gate open, open the output gate and allow the water to drain off the edge of the map.
4. Close the output gate again and let the pool fill to 7/7.
5. Close the input gate.
6. Disassemble the levers controlling the flood gates (I lost a fort once because I foolishly thought that the levers might come in handy one day.)
Now when ever you need an extra 90 power, just channel a nice 1x3 section about into the pool, mount a water wheel and let it spin.
I've gotten the water to fill my pools by tapping into rivers, aquifers, oceans. What ever is available at the time.
Haven't tried to energize any pools by using the caverns. My own thought on the matter is that pouring the water into the cavern lakes is likely to 'break' the continuous flow of water that the program seems to notice to flag a section of water as 'flowing'.