As you note, InverseErf[] is defined between -1 and 1
So what is the value of p at that upper bound in your expression?
Solve[2/Sqrt[Pi]*Sqrt[p]==1,p]
(*p->Pi/4 ~= 0.78539816339744830962*)
So you are not going to get anything bigger than p==Pi/4.
Well what happens if you get really really close to but still slightly less than Pi/4?
p=Pi/4-1/1000000;
FindRoot[Sqrt[p*r]/InverseErf[(2/Sqrt[\[Pi]])*Sqrt[p]]==1,{r,1}]
(*{r->15.7869}*)
p=Pi/4-1/1000000000000;
FindRoot[Sqrt[p*r]/InverseErf[(2/Sqrt[\[Pi]])*Sqrt[p]]==1,{r,1}]
(*{r->32.9328}*)
p=Pi/4-1/1000000000000000000;
FindRoot[Sqrt[p*r]/InverseErf[(2/Sqrt[\[Pi]])*Sqrt[p]]==1,{r,1},WorkingPrecision->64]
(*{r->50.26192019294443484109321375586527076626636935870604968790240329}*)
p=Pi/4-1/1000000000000000000000000;
FindRoot[Sqrt[p*r]/InverseErf[(2/Sqrt[\[Pi]])*Sqrt[p]]==1,{r,1},WorkingPrecision->64]
(*{r->67.66701125584564001396349443097703457649792304560596948761452092}*)
p=Pi/4-1/1000000000000000000000000000000000000000000000000;
FindRoot[Sqrt[p*r]/InverseErf[(2/Sqrt[\[Pi]])*Sqrt[p]]==1,{r,1},WorkingPrecision->64]
(*r->137.5829498581858273409042572545363711576114553405980763677426141*)
and those aren't even REALLY pushing the boundaries of precision yet, where you need to start pulling out all the tricks needed to get accurate answers to much more challenging problems.