Of course impulse control can be taught -- to a person who is willing to learn, of course. If this weren't true, we'd all still act like two-year olds!
For help with both the food and the money issue, I'd suggest that your friend look into once-a-month cooking. She might feel more "up to the task" if she could work hard at shopping /cooking for one day, and reap the benefits over the course of weeks. I don't exactly do the once-a-month thing, but I do LOVE "batch cooking". For example, say I find ground beef on a good price. I'll buy perhaps ten pounds of it and spend an hour or so browning it, tossing in some onion and garlic, draining away the fat . . . then I'll freeze it in one-pound packages. Then when I want to make spaghetti or sloppy joes, one big step is eliminated. Similarly, when I find a good price on chicken thighs, I cook them and freeze them in family-meal sizes along with carrots, onions and green peas -- then they're ready to become chicken dumplings, chicken noodle soup, or chicken-rice casserole. We enjoy lots of chicken meals, and I often mix up 8-10 packages of sauce; when it's time to cook them, I just brown the chicken in the pan, toss in the frozen sauce, and let it sauté a bit.
You can find plenty of websites and cookbooks (at the library) on the topic of once-a-month cooking.