Convert the string to a format 0x####before proceeding to bitstring.BitArray:
>>> n = '0xA5423'
>>> n = '0x{:04x}'.format(int(n, 16) & 0xffff)
>>> field = bitstring.BitArray(n)
>>> field[0:4].uint
5
>>> field[4:12].uint
66
>>> field[12:14].uint
0
>>> field[14:16].uint
3
UPDATE , bitstring, ( OP):
:
>>> n = '0xA5423'
>>> n = format(int(n, 16), '016b')[::-1] # reversed
>>> n
'11000100001010100101'
>>> int(n[0:2][::-1], 2) # need to reverse again to get proper value
3
>>> int(n[2:4][::-1], 2)
0
>>> int(n[4:12][::-1], 2)
66
>>> int(n[12:16][::-1], 2)
5