Years ago I wrote a program on the Amiga which did everything you're asking for. It showed every chord and scale on the neck in every key, and as well as having hundreds of preset fingerings for every chord type (including all the wacky jazz chords), it also had an algorithm which worked out every possible fingering of a chord between the limits of two specified frets. It also worked on scales, so you could click on a scale and it would show you every possible chord that can be created from that scale.
It would also give you every possible chord name for notes that you clicked on the neck, as well as tell you which larger chords (and scales) contained those notes, and which smaller chords were contained within those notes. Did lots of other stuff too. Basically a Swiss army knife for guitar players. It got featured on a couple of magazine cover discs. Damn if I had the time I would rewrite it for Windows....