Fragmentation of a program's heap is not something you can do anything about, unless you modify the program itself (and even then it can be very difficult to solve). Memory fragmentation is nothing to do with disk fragmentation. I have no idea if DF really suffers from this or not, btw.
Having a very high page fault rate suggests that DF's working set (the amount of memory it's dealing with at one time) is larger than the amount of physical ram your OS can spare for it: i.e. you don't have enough memory available for it to run without paging. This isn't necessarily a bad thing - OSes are pretty smart about paging (even Windows) and the performance overhead of doing a bit of paging around the edges of the working set is not large. Windows' statistics on this are also a bit vague and fluffy and have a tendency to count things that are irrelevant as well as useful data, so take it with a grain of salt. If you were finding that DF ran slowly but your CPU (or one of them, anyway) was *not* maxed out, then you might look into this as a source of performance problems.
The thing where DF sometimes shows up as Not Responding in task manager or similar is because it's busy doing some operation which doesn't include sufficiently frequent peeking at the win32 message system. You're supposed to pay attention to win32 messages within a reasonably short time, but in practise all that happens if you don't is spurious notifications that the app is not responding, and missed repaints (e.g. cover up and then uncover the DF window during worldgen and notice how long it takes to actually get around to redrawing it).
The OP's problem is "DF's large working set size has pushed other applications' memory out to disk and probably forced the disk cache to be reduced in size, and now everything you touch causes lots of pageins, plus it takes some time for the disk cache to let itself grow to its original size again".
Actually, it's showing the not responding in the title bar, I don't need to look at task manager. I use task manager to 'crash' it when using the reveal utility since I don't want to actually have the tiles revealed when actually playing. I mainly use reveal to check the location of the magma pipe or whatever.
As for the worldgen window, when I'm genning large maps, it comes to a pause every several decades (it always stops at the same dates, such as 298) and acts like it's frozen and then after a minute or two, it resumes. When it's actually running, covering and uncovering it does not cause redrawing issues. When worldgenning a default world (medium worlds anyway), it doesn't have this problem
DF doesn't generally run slowly, although it will slow down to about 30-50 FPS when there is a high population, but that's just the FPS. When I pause, it jumps back up to around 100 FPS.
Actually, after playing for a long while, sometimes DF will suddendly slow down for no apparent reason as the FPS drops down to the 10s, 20s and does it even when paused. But a save, exit and reload fixes this.
How do I look at the win32 thing anyway? As for memory, I guess I could take a look and remove some stuff.