The best option is to simply try it. Just take some 3d movement and physics code, and move the thing your controlling further and further away from the origin until it stops working nicely. Make sure everything is the correct size and moves at the right speeds when doing this.
One significant problem with being far from the origin is that movement starts to feel choppy at low speeds. To take an extreme example, if you're ten million units from the origin then at anything less than about one meter per second of velocity you'll be effectively stationary because 0.1 + 10000000 == 10000000 when using floats. That may not be a problem if ship speeds are measured in km/s and not m/s.
There's a handy table at http://randomascii.wordpress.com/2012/02/13/dont-store-that-in-a-float/ which gives details of how much precision you get with various ranges. That value is somewhat idealistic because you'll lose some precision when you do calculations, which is why you need to test it. For example your physics library may stop working reliably significantly before movement becomes choppy.
Also note that because of the sign bit you get more precision out of a float when the origin is in the middle of the coordinate system (i.e. the coordinates go from -500,000 to +500,000 instead of 0 - 1,000,000).