In Iron Router, the data value of your route can be an object as well as a function. See here in the documentation. Therefore you can return both the items and the list in the data call as follows:
this.route('list', {
path: '/list/:_id',
data: {
list: function(){
var id = Router._currentController.params._id;
return Lists.findOne(id);
},
items: function(){
var id = Router._currentController.params._id;
var list = Lists.findOne(id);
if (!!list){
/* assuming your array of item ids is a field on list named items */
var theArrayOfIds = list.items;
}
return !!list && Items.find({ _id: {$in: theArrayOfIds}});
}
});