I am having a thought. I had a cat who, when she got too hungry she would eat very fast and then throw up. Now, after throwing up, she was extra hungry and would do it again next time and the time after that, like a cycle. (I fed a.m/p.m not free feed). The only way I could break this cycle was to actually FORCE her to eat slower.
now how does this relate to Pepper? He has been throwing up, so he might be so hungry that he is eating fast. attempt to slow him down by offering only very small amounts spread out over time, but not too much time. Like on a day off, feed him a tablespoon full every1/2 hour or so. IF it works, then the cycle will be broken so that when he goes to eat a regular meal later, he might not stuff himself.

I realize that this is a long shot, with all that he has been through, but this COULD be a part of what is adding to his stess.

hope this helps.