I don't know about canned ham, but if he really likes ham, you can store real dry-cured hams for a virtually indefinite period (at least 3-5 years). They're the height of ham cuisine. Not cheap, but big flavor, so they go a long way. You can find them online easily - burger's smokehouse has a nice selection.
Canned ham is not a great food to eat in the long run, because most canned hams are way too salty. Only eat canned ham when you are down to nothing else to eat in the pantry. Sometimes, your favorite foods need to be put on the bottom of the list to eat.