Нет никакой разницы - в App Engine проверки на равенство в списках аналогичны проверкам на наличие содержимого из-за способа индексации вещей в хранилище данных.
Под запросом на слайдах 23-25, я полагаю, вы имеете в виду этот?
indexes = db.GqlQuery(
"SELECT __key__ FROM MessageIndex "
"WHERE receivers = :1", me)
keys = [k.parent() for k in indexes]
messages = db.get(keys)
Это работает просто отлично, так как это проверка списка, как описано выше, и приводит к одному запросу хранилища данных. Ограничение, о котором вы думаете, обратное: если у вас есть список и вы хотите найти запись, содержащую какой-либо элемент в этом списке, то для каждого элемента в списке будет создан подзапрос.