I've been playing with fonts recently, and wrote font-reduce.py to generate compressed subsets of free fonts to WOFF for use on my website. It uses FontForge's Python interface, and has a few options to customize the generated WOFF metadata.
If this doesn't quite scratch your itch, you may also want to consider the similar subset.py from the Google font directory. They do a better job creating custom subsets. I do a better job preserving and generating metadata.