The workaround you said is a viable idea, however I'm not sure what the theoretical limit of number of unique addresses
Depends only on storage space and can easily be a billion.
I was thinking more in terms of how many can be generated per machine if they were created from some specific attribute. I did some research and your correct its merely a size restriction which of course is a laughable matter.