I just upgraded my gnome-terminal to use 256 colors, yet I am a bit puzzled on the reason why a terminal emulator can't support the full palette any modern desktop environment provides. I guess there's a technical reason for this, but I am not aware of it.
There are no technical reason for it not to be possible. However there are not many reasons to why its not practical. With the limited amount of screen real-estate that characters represents on screen you would have a hard time finding use for more then 256 simultaneous colors on the screen.
As far as I know terminal clients use indexed color space. One of the reasons for that is that in its simplest form, 256 indexed colors can be described with one byte. Whilst RGB color space need two or three bytes. Considering how colors are encoded in a terminal stream, each color would at least be two bytes + any smart markup. This might not be a big issue memory vise, however when on a real time network stream it might add up on latency, especially (correct me if I am wrong) each character is sent in it's own package.
There really is not a current reason. Other than, perhaps, the escape codes were added only a few years ago to support true color. Many terminals have 24-bit color support now, see https://gist.github.com/XVilka/8346728