Note: the following was edited following whuber's comment
You might want to adopt a Monte Carlo approach. Here's a simple example. Assume you want to determine if the distribution of crime events A is statistically similar to that of B, you could compare the statistic between A and B events to an empirical distribution of such measure for randomly reassigned ‘markers’ .
For instance, given a distribution of A (white) and B (blue),

you randomly reassign labels A and B to ALL points in the combined dataset. This is an example of a single simulation:

You repeat this many times (say 999 times), and for each simulation, you compute a statistic (average nearest neighbor statistic in this example) using the randomly labeled points. Snippets of code that follow are in R (requires the use of the spatstat library).
nn.sim = vector()
P.r = P
for(i in 1:999){
marks(P.r) = sample(P$marks) # Reassign labels at random, point locations don't change
nn.sim[i] = mean(nncross(split(P.r)$A,split(P.r)$B)$dist)
}
You can then compare the results graphically (red vertical line is the original statistic),
hist(nn.sim,breaks=30)
abline(v=mean(nncross(split(P)$A,split(P)$B)$dist),col="red")

or numerically.
# Compute empirical cumulative distribution
nn.sim.ecdf = ecdf(nn.sim)
# See how the original stat compares to the simulated distribution
nn.sim.ecdf(mean(nncross(split(P)$A,split(P)$B)$dist))
Note that the average nearest neighbor statistic may not be the best statistical measure for your problem. Stats such as the K-function could be more revealing (see whuber's answer).
The above could be easily implemented inside ArcGIS using Modelbuilder. In a loop, randomly reassigning attribute values to each point then compute a spatial statistic. You should be able to tally the results in a table.