Furthermore, for location it would be no harder than IPv4 since location databases, just like routing rely on prefixing which doesn't go away with IPv6. Also because the IPv6 address space is so big, there are event proposals to allocate blocks of the address space to each country and then the country can further distribute its block among all the various cities/regions of the country which would greatly simplify determining location based on IP.
The number of seconds since the universe started is 13.75 billion * 86400 * 365 = 4.3 x 10 ^ 17 seconds.
U.S Internet traffic was 18 exabytes (1 exabyte=10^18 bytes) a year, so let's just say that that we are sending 18 exabytes a second since the beginning of the universe and we are counting each byte. Yes, each set of 8 1s and 0s. How many is that?
4.3 x 10 ^17 * 18 * 10^18 = 7.74 * 10 ^36.
2^128= 3.4 + 10 ^ 38 / (7.74 * 10^36 ) =~ 43. So you could have a different ip address for every byte sent over the Internet, assuming the traffic for the whole year was sent over the course of 1 second for every second in 43 times the current age of the universe.
Location databases are based on the owner of the netblock.
There are still networks in in IPv6. Typically, with IPv6, MAC addresses take up the right 48 bits of the 128 bit IPv6 address. other 90 bits are used for subnetting/routing. The new spam and location databases will focus on these 90 bits, just like location databases usually focus on the /24.