In terms of language proposals, you can't just say "don't need values
for"; the semantics have to be EITHER "consume and discard" OR "don't
consume". We already have a perfectly good way of spelling "consume
and discard":

x, y, _ = iter

You mean ( x, y, *_ = iter ) ?

Since this has to be about non-consumption of the generator/iterator,
Ellipsis cannot be a zero-length deque. Thus this syntax would have to
be restricted to the *last* entry, and it then means "don't check for
more elements".

Yes, you are right to the *last* entry. (*last* depends on proposed syntax (spelling)).
 
The proposed semantics, if I understand you correctly, are:

try:
    _iter = iter(it)
    x = next(_iter)
    y = next(_iter)
except StopIteration:
    raise ValueError
# no "else" clause, we're done here

Yes, "roughly" this semantics is proposed, with some assumptions on _iter = iter(it).
As I can see at the moment, these cases should behave differently:

>>> x, y = [1,2,3,4]             # must raise ValueError
>>> x, y = iter([1,2,3,4])      # should work

But at the same time, it violates current situation. So maybe, as you have said we need special syntax. I will think about it.
 
Start by perusing PEP 1, and the template in PEP 12:

https://www.python.org/dev/peps/pep-0001/
https://www.python.org/dev/peps/pep-0012/

The PEP editors (myself included) are here to help you; don't hesitate
to reach out with questions.

Thank you!

With kind regards, -gdg