How about a camera and do colorimetry on the player's hats or uniforms?
Maybe ultrasonics, time-of-flight to multiple recievers to get redundant information to reduce the blocking of the signal from intervening players, time division multiplex the player transmitters to differentiate the players.
RFID only works over short distances, you would have to put a whole bunch of loops on the field, and I'm not sure how well they would work through dirt.
GPS can actually give you the resolution you need - the trick is to place some stationary recievers around the field and use them as a reference to compensate for the error.