Historical. The protocol unit for X coordinates is a 16 bit integer. If anything, we'd change to 32 bit ints measuring 0.0001 inch, but so far, nobody has needed a board bigger than 30 inches, so there's not much point in changing it yet.
Plus, floats suck. You can't always store exact decimal values with them. It's almost always better to use scaled integers instead. Given that gcc supports 64 bit integers on nearly all platforms, there's little reason to use floats to hold large integers any more.