You probably should figure to eat a couple meals in the dining car, both for the experience and to cover at least a couple of meals. Breakfast is the most reasonable.
The train doesn't leave DC until 4:05, eat something before you board and just bring snacks that evening.
From the 23 hours the original poster said, they are probably booked on the Cardinal which leaves earlier.
Here's the Capitol Limited dining car menu and prices:
https://www.amtrak.com/ccurl/160/906/Capitol-Limted-Dining-Car-Menu-1115.pdf
I believe the Empire Builder is probably the same but the Cardinal is slightly different.
You probably should figure to eat a couple meals in the dining car, both for the experience and to cover at least a couple of meals. Breakfast is the most reasonable.
You also have a lot of time in Chicago to eat lunch. There are a lot of great food options really close to Union Station (me, I'm a fan of Al's Italian Beef, a block west of the station). An option I just thought of is to get a big pizza from Giordanos have some for lunch and take the rest on the train to eat cold and take care of lunch/dinner that day (I like cold pizza myself).
I second the recommendation of Giordano's!
So just bring what you, and more importantly, your kids, like. Fruit, cheeses, snack crackers maybe some lunch meat.
I'd be worried about the meat and cheese after a day or two.