With no random number seed specified, assuming all vanitygen runs start with specific chunk for iteration, what are the possibilities of two different vanitygen runs to end up with the same address - private key pair?
Samr's vanitygen gets its initial private key from OpenSSL's random functions, which have been well vetted. Even if you specify a random seed (which is a good idea to add even more randomness) the entropy generation random libraries from the crypto is still used. It has equal randomness and strength as Bitcoin's address/key generator, with the exception that you are discarding millions of addresses that don't start with your vanity phrase.
If two or more people choose the same, non-random seed while looking for vanity address with the same pattern, they will end up with the same private key. This would happen due to them either iterating to the same private key from the seed, or by ending up with the same private key by using the given language's version of rand() function with identical seeds.
However, if one was to chose a random seed, here are the probabilities of accidentally ending up with the same keypair / address:
To obtain the same address, the result of RIPEMD-160 hashing would need to be the same. Probability of that happening is 1 in 2^160.
In simple terms, if you were testing against 500k patterns at 25/Mkey a second, it'd take about 25 quadrillion years to get a few collisions. Factoring out the randomness of course, as the nature of randomness entails that it could take 2 seconds or 2 sextillion years.
Even if you put all the calculating power of the entire bitcoin network on it, it would still take 10^12+ years.