AJG, gparted is the right kind of tool for this, and defragmentation is a necessary precaution.

But the current partition layout is really unfavorable as there are already four primary partitions. If you were to shrink sda2, the only way to create another partition would be to convert sda2 into an extended partition holding two logical drives sda5 and sda6. This isn't advisable, though, because Windows requires an active primary partition for its bootloader.

What about "resizing" sda3 instead? There's no bootflag, so you could convert it into an extended partition and create several logical drives within it. Even better, you could do the re-partitioning with windows disk manager:
1. Delete primary partition sda3.
2. Create new extended partition sda3 in it's place.
3. Create several logical drives within sda3 and format them with FAT32.
4. Boot computer off the Knoppix LiveCD and re-format future root partition with qtparted (ext2).
5. Run rebuildfstab and install Knoppix.