You can solve it with a list comprehension, like you started on.
chunk = doc.chunk
points = chunk.point_cloud.points
nselected = len([p for p in points if p.selected])
or just
chunk = doc.chunk
nselected = len([p for p in chunk.point_cloud.points if p.selected])
It calculates it really quickly on my computer.