The odd placement of (E)BX is probably due to the way that the 8086 evolved from the 8080.
The 8080 has an accumulator (A) and 6 general-purpose registers B, C, D, E, H and L, where B/C, D/E and H/L can be used together in pairs, and in particular H/L can be used as an address for memory access. The 8086 was designed so that existing 8080 code could be easily translated to it; I guess it seemed logical to map the registers in the following order:
8080 register A -> 8086 internal register 0
B,C -> 1
D,E -> 2
H,L -> 3
SP -> 4
As noted in another answer, AX, BX, CX and DX in the 8086 are not just arbitrary names for 4 general-purpose registers - they have mnemonic meanings for the special functions that those registers have: "accumulator", "base", "count" and "data". Given the above mapping, it makes sense to assign the
"accumulator" function to internal register 0, and the "base" function to internal register 3. (And 8086 internal registers 5, 6 and 7 are BP, SI and DI, which were new functionality.)
Of course, this is really all just slightly informed (see here for example) speculation - only the 8086 designers know for sure...