## Mathematica, 253 bytes

    f=(For[i=0;j=1,j<=#,j+=Mod[RealDigits[9801/Sqrt@8/Sum[(4j)!(1103+26390j)/(j!)^4/396^(4j),{j,0,125}],10,999][[1,j]]-1,10]+1;++i];"99iiiitS===oooo8862^^^^^^\uusRRRRRRqqqqqqqqMMMMmlllllllgggggggFFFeeeeeeeeDDDDDDaaaaa55555555<<{{\{{{{{{}}}}}}}}--@@@@@@";i)&

Ungolfed:

    f = (
       For[i = 0; j = 1, j <= #, 
        j += Mod[
           RealDigits[
              9801/Sqrt@8/
               Sum[(4 j)! (1103 + 26390 j)/(j!)^4/396^(4 j), {j, 0, 125}],
               10, 999][[1, j]] - 1, 10] + 1; ++i];
       "99iiiitS===oooo8862^^^^^^uusRRRRRRqqqqqqqqMMMMmlllllllgggggggFFFeeeeeeeeDDDDDDaaaaa55555555<<{{{{{{{{}}}}}}}}--@@@@@@";
       i
       ) &

Usage is `f[999]`.

A whopping 122 bytes are used to pad the code with a useless string to get the right character frequencies. I'll try to improve that tomorrow.

The character frequencies should match the digits of pi in this order:

    3#/&(,![)4+9j0it"S=;]ro862^usRqM1mlgFfeDda5<{}-@

I confirmed that there is *some* correct order with the following snippet:

    Sort[Last /@ 
       Tally[Characters@
         "f=(For[i=0;j=1,j<=#,j+=Mod[RealDigits[9801/Sqrt@8/Sum[(4j)!(\
    1103+26390j)/(j!)^4/396^(4j),{j,0,125}],10,999][[1,j]]-1,10]+1;++i];\"\
    99iiiitS===oooo8862^^^^^^\
    uusRRRRRRqqqqqqqqMMMMmlllllllgggggggFFFeeeeeeeeDDDDDDaaaaa55555555<<{{\
    {{{{{{}}}}}}}}--@@@@@@\";i)&"]] == 
     Sort[RealDigits[Pi, 10, 48][[1]] /. 0 -> 10]

I'm computing pi with [Ramanujan's series](http://en.wikipedia.org/wiki/Approximations_of_%CF%80#20th_century). It converges to 1000 digits in 125 terms. Due to golfing reasons, I recompute the 999 necessary digits for every single digit of the subsequence, but it still completes within a second for `n = 999` on my machine.