join omitting output lines when input sorted numerically
If you want to avoid sorting, then you can zero pad with awk:
join \ <(awk '{printf("%05d %s\n", $1, $2)}' aa) \ <(awk '{printf("%05d %s\n", $1, $2)}' bb) \| awk '{print int($1),$2,$3}'
Generates this output that preserves the original sort order:
84 xxx asdfasdf10101 sdf 2223210301 23 llll
You want to avoid sort, because Unix sort is O(n log n).