Check that you don't have pocket lint etc stuck inside the audio socket. Turn off the phone and use a paper clip to see if you can hook anything out. If you can't push the plug all the way in, it can cause the problem you describe. Otherwise take a look at http://www.urheadphones.net/ReplaceEarBuds
Yes it can be repaired, you could take the ear phone to any electronic repairing center and they will fix it for you, it could be due to broken contact between the wire and speaker. If the repair is costly, just purchase a new one.
You could try to use a player with a stereo balance and adjust that, but in reality you need new headphones. Sonys have very comfortable and flexible cabling but the downside is that they wear out easily.