Should the dramshop law be extended to other contexts? For example, should a restaurant be liable for serving junk food to an overweight person?
No, these types of laws should not be extended to other contexts. A dramshop act is one which holds an establishment responsible if it sells alcohol to a person who is already drunk. The reason that such laws should not be extended is that dramshop acts are meant to protect other people, not the drunk person.
In the example you give, a completely different dynamic is at work. The same would be true, for example, if we banned tobacco shops from selling to people who already had lung disease. The difference is that in such cases, there is not really a victim other than the person who wants to buy the food or the tobacco. If these people wish to take actions that are clearly detrimental to their own health, they should be allowed to do so. They should be able to make their own choices. This is completely different than the dramshop act because in that situation, the drunk person might go out and harm someone else.
Dramshop laws should not be extended to other contexts unless those other contexts are ones in which harm is likely to come to other people, not just the person who wants to buy something.