Working towards a positive outcome doesn't always mean changing oneself. It can mean recognizing potential situations and avoiding them. For example, if you get really cranky when you haven't eaten in a while, you can always make sure to have some food with you (food bar, energy bars) or realize that skipping meals is a bad idea, etc.
Not if it's a fault that can't be changed, or at least not easily.
I'm short, too, and I've learned to accept that, just as I've learned to accept the fact that some of my friends have more people posting "happy birthday" on their wall than I do.
Can't be changed? Are you sure you aren't making up excuses for yourself? If you didn't believe people skills were innate and unlearnable, would you have to face the fact that you may be simply lazy in that regard, or that you're clinging to an unfriendly personality because you feel it makes you more of a techy hacker archetype?