I developed this formulation for the problem, for simplification i ranked the numbers in a decreasing fashion (within a set of numbers with a fixed number of digits set to one) as I didn't get how the local rank mechanism of the original post worked (it starts with a decreasing fashion then deviate from this logic), i reordered the items in a decreasing while being confident about the possibility of formulating other ordering strategies.
Notations:
The $\sum$ over an empty set is 0
${n \choose k}$ is 0 for a negative value of k.
$d_i(b)$ (or $d_i$ for simplification) is the $i^{th}$ digit of b (it's also the coefficient of $2^{i-1}$ that can be easily formulated as a recursive function of b).
c(b) is the the number of digits set to 1 in b (easily formulable as a recursive function of b).
$S_m^i$ is the set of numbers given $c(b)=i$ and $b<2^m$
$r_l(b)$ is the (local) rank of b within its containing $S_m^i$ (The bigger a number is, smaller is its rank)
$r_g(b)$ is the (global) rank of the number b.
Properties:
$card(S_m^i)={m \choose i}$
If ($c(b)=1$) then $r_g(b)=r_l(b)$
$\forall$ b given $c(b)\geq2$ we can easily prove that: $ \begin{equation} \begin{split} r_g(b) =& \sum_{1\leq i\leq c(b)-1} card(S_m^i) + r_l(b)\\ \qquad =& \sum_{1\leq i\leq c(b)-1} {m \choose i} + r_l(b)\\ \end{split} \end{equation} $
$\forall \;b\; \in S_m^i$: $ \begin{equation} \begin{split} r_l(b) =& 1 \;+\; \sum_{1\leq j\leq m}{(1-d_{m-j})*{{m-j}\choose {i-(1+\sum_{1\leq k\leq j-1}{d_{m-k}})} }}*h_j^i(d)\\ \end{split} \end{equation} $ Where: $ \begin{equation} \begin{split} h_j^i(d) =&\frac{i-(\sum_{1\leq k\leq j-1}{d_{m-k}})}{max(1\;,\;(i-\sum_{1\leq k\leq j-1}{d_{m-k}}))}\; \end{split} \end{equation} $
The last formula can be intuitively explained as follows: Let d $\in S_m^i$ If the $j^th$ digit (coefficient of $2^{j-1}$) is set to 0, the rank of d is for sure after all the numbers having the $j^{th}$ digit set to 1 and having the same digits configuration as d before this $j^th$ digit. There are ${{m-j} \choose {i-(1+\sum_{1\leq k\leq j-1}{d_{m-k}})} }$ ones verifying this last assumption. Why ?
Let's take a closer look :
Assume d = $b_{m-1} b_{m-2} ... b_{j+1} \color{red}{b_j } b_{j-1} ... b_0 $
if $\color{red}{b_j } = 0$ then we know that the numbers having the same digit configuration as b before the $j^th$ bit (starting also with $b_{m-1} b_{m-2} ... b_{j+1}$ ) but having $b'_j=1$ are greater than b. How many are they?
First, we know that those numbers still have ${m-j}$ digits at the right of $b'_j$. How many of those remaining digits can be set to one?
Answer : ${i-(1+\sum_{1\leq k\leq j-1}{d_{m-k}})}$ because those numbers have already $\sum_{1\leq k\leq j-1}{d_{m-k}}$ digits set to 1, to which we add one as $p_j$ is also set to 1!
However, and here comes the aim of the function h, d should not be penalized by the 0 digits that comes at the right of its last 1 digit. For the simple reason that it is impossible to have other numbers that have digits set to one at this level (Remember that we're on sets of numbers with a fixed number of digits set to 1)
Therefore, we need to define a function that cancels the penalization for those zeros. As soon as j (the sum index) is at the level of those zeros the function takes 0, before that index the function takes 1.
An Example:
10000
01000
00100
00010
00001
11000
10100
10010
10001
01100
01010 -> The rank here is 11.
01001
...
$r_g(01010)={5 \choose 1} + r_l(01010)$
$r_l(01010)=1 + (1-0)*{4 \choose 1}*1 + (1-1)*{3 \choose 1}*1 + (1-0)*{2 \choose 0}*1 + (1-1)*{1 \choose 0}*1 + (1-0)*{0 \choose 0}*0$
$r_l(01010)= 1+ 4 + 0 + 1 + 0 + 0 = 6$
Then : $r_g(01010)= 5 + 6 = 11$