Sometimes being moral DOES cause unnecessary suffering, does that make the action immoral then?
If by me giving food to someone when I am hungry, causes me to be hungry, is it immoral to give food?
You are right, sometimes we are faced with Hobson's choice. The moral thing is that which minimises suffering.
As for a choice between personal suffering and the suffering of others there is no easy answer, most ethical decisions are complex. Will you be hungry to the point of endangering your life? When will you get food next? Whose need is greater? There are no easy answers, that's the problem with written codes they break down too easily in the real world.
Interesting studies on reciprocal altruism in the animal kingdom studied vampire bats. If a bat fails to find blood on an evening, a neighboring bat will usually regurgitate some blood for him back at the roost. If a bat reneges when its time to pay back, he is made to pay by being rejected next time he goes hungry. Human society is a little more complex but that's why we got the big frontal lobes.
Ethics are relative - "minimise suffering"