This is not a complete answer, but may provide you a way to go. As a hands-on-approach I suggest to perform a simulation to get an idea how the resulting property looks like and then start to derive a formula for it.
Here is such a simulation for a fixed standard deviation. Playing around with other standard deviations returned similar results.
require(lattice) stdev <- 1 N <- 5 trials <- 2000 resPerN <- data.frame("N"=rep(1:N,each=trials), "r"=rep(-1,N*trials), "prob"=rep(-1,N*trials)) for(n in 1:N){ res <- data.frame("r"=rep(-1,trials),"signum"=rep(-1,trials)) for(i in 1:trials){ x <- rnorm(n,0,stdev) y <- rnorm(n,0,stdev) diff <- sqrt(sum((x-y)^2)) signum <- sum(sign(x) == sign(y)) == n res[i,] <- c(diff,signum) } res <- res[order(res$r),] range <- (1+(n-1)*trials) : (n*trials) resPerN$N[range] <- n resPerN$r[range] <- (res$r - min(res$r))/(max(res$r)-min(res$r)) invprob <- 1/(cumsum(res$signum)/cumsum(1:trials)) invprob[which(invprob == Inf)] <- 0 resPerN$prob[range] <- (invprob - min(invprob))/(max(invprob)-min(invprob)) } xyplot(prob~r,data=resPerN,groups=resPerN$N,type="b",xlab="(min-max-transformed) r",ylab="(min-max-transformed) 1/prob | <= r",auto.key=T, par.settings=list(superpose.line = list(col = rainbow(5),lty = 1), superpose.symbol=list(col = rainbow(5),pch=15,cex=0.8)))
which resulted in this plot 
which indicates a (n inverse) logistic relationship.
Going further by collecting beta-coefficients and intercepts, one pair per dimension, you should be able to derive a function dependent on r. Afterwards I'd vary the standard deviation to include it into the equation.