ISP's could argue that websites should be logging source port numbers of tcp connections. That would allow them to have thousands of customers behind the same IP, and still able to identify a single one.
BTW, I just noticed: No, you cannot realistically have thousands of customers behind the same IP. There are only 65535 TCP ports per IP address, just loading your typical website that loads resources from tons of domains can easily need a hundred ports at once.
No, they couldn't, because that would be illegal. An ISP cannot just record the communication of their customers because it makes thing cheaper for them.
Also, that easily generates petabytes of logs, so it's not really cheap either.
This kinda stuff is clearly madness.