Stop turning small dashes into longer ones

- is a hyphen or minus, not a dash. Converting it to an en dash is actually the correct thing to do from a typographical standpoint.

http://en.wikipedia.org/wiki/Hyphen-minus

Typography is one of those deep-read kind of ideas, but the bottom line is that you think the hyphen minus is the correct character to use because of limitations in early typewriters. The correct character to use in most all the instances where you type the minus sign, from a typesetting and printing (and now, web) point of view is actually the en dash.

But if you really want to use incorrect typography, then bungeshea’s approach above will work, or you can remove the wptexturize filter from the_content. The wptexturize function corrects this common typographical mistake, as well as fixing quotes, apostrophes, primes and double primes, dashes, whole bunch of other stuff. Basically it transforms what you type into the correct typography for it.