In terms of a picnic in between the Pantheon and the Colosseum area, I have a better, but still economical, suggestion.
Across the street from the Torre Argentina (where there are a bunch of Roman ruins, including the place where Julius Caesar was killed, and a cat sanctuary), there's a fantastic little place that serves pizza by the slice. They have a couple of tables, but it's mostly takeout. They sell sodas, bottled water and the pizza. Because the turnover on the pizza is rapid, it's all fresh and probably 8 or so different choices. It's called La Florida, and it's at via Florida, 25. We're big foodies, and I would say that the pizza we got at La Florida was some of the best food we had during our recent trip to Italy
You could eat there, or take the pizza with you and I think there are benches by Torre Argentina.
I agree that portion of Rome, it would be difficult to find a real picnic spot.
For Villa Borghese, as already said, you can definitely picnic there. I'd find a good store for meats, cheeses and bread, and just pick up food before you head to the Villa Borghese area.