Each block of observations starts either (a) at the first observation or
(b) with a missing value not equal to the previous value. 
A block identifier 1, 2, etc. is thus obtained by 
gen block = sum((_n == 1) | ((pvalue != pvalue[_n-1]) &
missing(pvalue)))
Then 
sort block pvalue n 
and the observations are in the order you desired. 
Whether you need to use -n- as well I am not clear. 
Note that the first observation is special as pvalue[0] is returned as
missing and so is equal to pvalue[1]. 
In some ways it would be easier to work with the reversed data set. Then
each block starts with a non-missing value. But I don't think the total
code would be easier. 
Related tricks were discussed in excruciating detail within 
SJ-7-2  dm0029  . . . . . . . . . . . . . . Speaking Stata: Identifying
spells
        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N.
J. Cox
        Q2/07   SJ 7(2):249--265                                 (no
commands)
        shows how to handle spells with complete control over
        spell specification
Nick 
[email protected] 
Thomas Speidel
I am trying to create a spreadsheet ready table from within Stata and 
need to do some data management in order to go from this:
n	pvalue
1	.
2	.
3	.
4	.
5	0.151
6	.
7	.
8	.
9	.
10	0.000
11	.
12	.
13	.
14	.
15	0.146
16	.
17	.
18	.
19	.
20	.
21	0.001
...
To this:
n	pvalue
1	0.151
2	.
3	.
4	.
5	.
6	0.000
7	.
8	.
9	.
10	.
11	0.146
12	.
13	.
14	.
15	.
16	0.001
17	.
18	.
19	.
20	.
21	.
...
Notice that the blocks are not constant (some are 5, some are 6 etc. 
-this is just a portion of the data-).  My difficulty lies in the fact 
that there is no natural grouping variable.  I tried a mixture of 
subscripting and sequence generating commands, but did not get too far. 
The crucial part is that I need to place the non-missing pvalue at the 
beginning of the block, while right now it is at the end.
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/