I can't find any good modern writings on checkboxes in über-long lists with academic weight, but personally (sorry 'bout the subjectivity), I find it very hard to get an overview in these scenarios. Yours doesn't seem to be any different, though I find it a bit hard to follow exactly how this is being used.
As I see it you have a couple of problems here, and maybe they should be discussed separately:
- Information architecture
- Managing the content
- Sorting and filtering
Something appears to be broken in the structure as one can find both Combo meal and Tomato on Burger, where I guess Combo meal is something that a burger can be included in while Tomato is something that can be included in a burger.
A logical approach could be to introduce a hierarchy where a meal (such as combo meal) has several "items" and items has several "options". That would reduce some of the mess.
Managing the content
It might be wise to build the interface more like an old-school list builder, with a procedure where you add/remove options to/from items rather than enabling/disabling them; instead of checking the Tomato box on Burger, you click Add on Tomato when you're in edit mode on the Burger. The benefit is that once you have made your initial setup, it's a lot easier to check what you have on the items respectively. The exact same approach can be used when dealing with Meals (sets of Items) See deeply flawed wireframe for example:
Sorting and filtering
Since you say both lists of Items and list of Options can be very long, sorting and filtering becomes very important. The item list could probably be divided in to groups to narrow down the sets the user has to deal with while browsing. Maybe Mains, Sallads, Sides, Sauces, Beverages, etc. Same with the Options. You can add "Browse by group" (Sallad options, Sandwich options, etc.) "Browse by type" (Proteins, Vegetables, Spices, etc.) and "Browse A-Z" or something like that. Search can also be a good feature if it's common that the user knows what there is to find rather than browsing for suggestions.
Like I said above, there is not much to go on when it comes to the user scenarios here, but I hope it helps. If I'm completely off, maybe you could add a bit more meat to the bone...