Mount Vernon (MVN) has a restaurant on the field, Wilkey's, it was pretty good the one time I was there.
Mattoon (MTO) has a restaurant on the field, it too was pretty good the one time I was there.
Dexter (DXE) has a restaurant on the field, haven't been there.
Osage Beach, Grand Glaize (K15) has a restaurant immediately across the highway, J. Culpeeper's Cattle Comany. It's good. Also, Tan-Tar-A will come pick you up in their van and take you back for lunch (about 5 miles down to the lake from the airport). Tan-Tar-A is hard to beat.
Cape Girardeau (CGI) has a very good restaurant on the field, Sandy's, but it's closed on the weekends...It may be open for dinner on Saturday but not for lunch. A dumb move IMO but I don't own the place.
St. Louis Downtown (CPS) has a restaurant on the field...I think...
There's always Gaston's (3M0)
Branson's new airport (BBG) has a Famous Dave's on the field.
The FBO @ Lebanon (LBO) has free lunch everyday.
Marble Hill (0T3) has a couple of decent restaurants in town and if you give me notice I'll pick you up at the airport and buy you lunch (this offer is open to all)
Sikeston (SICK) has...well...my signature tagline pretty much sums it up. If you're height/weight proportionate then you'll feel like you're at an obesity convention when you're there. "Nothing succeeds like excess" should be their slogan.
That's all I can think of right now, I'm confident that there's more but I'm not too familiar with N. Missouri airports.