I'm currently looking into the possibility of porting MicroPython to the Pebble Time smartwatch so people could write Pebble apps in Python.

Ideally of course MicroPython would run on top of the existing OS (a customized FreeRTOS) there. But currently Pebble enforces a maximal code+heap limit of 64k (plus 256k ressources). This seems to be too little for MicroPython, right?

If I compile the bare-arm port with the default -Os, I get a binary with around 74kB text. So is the idea of getting MicroPython in under 64k completely crazy and unreasonable?

64k for both code and data/heap is not possible, not unless you really want to start stripping out large chunks of the Python standard types/methods (eg cut back string methods, dict methods, no generators).