Not sure if this helps, but assuming all data points are unique, then we can define the functions recursively
$$ R_{1} = \min \Big\{ j \in \{1,\dots,n\} : X_j = \min (X_1, \dots, X_n) \Big\} $$
$$R_{2} = \min \Big\{ j \in \{1,\dots,n \} : X_j = \min (X_{(-1)}) \Big\}$$
$$ \dots $$
$$R_i = \min \Big\{ j \in \{1,\dots,n \} : X_j = \min (X_{(-1,-2,\dots,-(i-1))}) \Big\}$$
Where $X_{(-1,-2,\dots,-(i-1))}$ is the datavector after removing $X_{(1)},\dots,X_{(i-1)}$, found using the prior defined rank functions for $R_1, \dots, R_{(i-1)}$.
While not exactly closed form, these functions are easily written in a program like R, if that's what your interested in doing.
Otherwise, more generally, we could write
$$R_i = \min \{j \in \{1,\dots,n\}: |\{k: X_k \leq X_j \}|=i \}$$
where $|\cdot |$ is set cardinality.