+1 on Alden. I am a fan, especially of their shell cordovan leather.
Shortening the sleeve from the wrist about $10 per sleeve. From the shoulder can be much more expensive.
Replacing the buttons themselves only about a dollar or two per button. The cost to purchase the buttons varies depending on source.
EDIT - When I replace buttons I always ask the tailor to "double button" those buttons I'll be buttoning on a regular basis. So for example, on my overcoat I have the front buttons attached to smaller buttons on the back. I find that this offers greater strength and makes it less likely the button will come loose at some point in the future, while also putting less stress on the fabric itself. Actually, I have no idea if that's true but I like to think it is.
In this instance I sewed the new buttons on myself, but you get the idea.