Actually, Comcast supports DHCP prefix delegation (I'm led to believe everywhere, but it works at my home anyway), which is pretty much the Right Thing in this space. Your default DHCPv6 request is from a single client and it returns a single IP, as expected. And you can then do NAT across that if you want, which is what their default routers do.
But if you want a subnet, you can make a second DHCPv6 request with prefix delegation metadata, and the server will establish a route for a full /64 subnet to your existing IP and return it to you. Then you can hand these out however you want (though they won't give you bigger than a /64 so you can do internal subnet routing).
The only annoyance is that none of the existing Linux distros support this yet as part of their network client integration, so you have to script it yourself around dhclient (see the -P argument), which is a little hairy if you want to get the hooks right (I punted and just did it once manually and left dhclient running).