I have a layover in Houston on the way back from Mexico, and I have a small amount of money left in pesos. Will I be able to buy food with pesos in the airport, or would I have to exchange them first?
No. Businesses at IAH (or in the United States in general, with the exception of the occasional business near the border) will not typically accept pesos. You'll need US dollars or a credit/debit card.
There are currency exchange locations at IAH. There are also ATMs available.
While you can exchange MXN into USD at almost any airport, you can get a much better exchange rate in Mexico. The best cash exchange rates are in Mexico City airport Terminal 1, where you can often find a spread as low as 1%.