ну, если в гостях ведет себя лучше, значит в принципе умеет так себя вести и понимает, что дома ведет себя не очень хорошо... попробуйте менять свои реакции, действовать неожиданно для ребенка, раз он ваши обычные реакции просчитал и знает, на какие кнопки жать  Конкретно в ситуации с едой-пусть голодает до тех пор, пока не начнет вести себя за столом адекватно (от голода не умрет, точно)