An alternative would be to save as a simple CSV or lines of text. remember, from the Web UI you can actually open/save-as the file. This probably takes less flash space.
Several of my projects have used pure binary writes which allowed 10,000 records in 100K of space, then a save-as puts the file onto a PC, where a seperate Python tool can parse the binary file.
cPickle will be a problem on the X4 for now, due to it being C binary. The standard library ‘pickle’ however works fine, with a limitation of unicode encoded strings. pickle supports the same dump/load operations as cPickle, but will be approximately 10 times slower on the X4.
Depending on what type of data you’re working with, you may want to add the string_escape.py library to the python.zip in the ‘encodings’ directory as well. It allows for loads of strings that use the '' operator.
However, if you are really set on cPickle, you should probably talk to some of Digi’s sale staff. They may have a solution for you, as adding a C binary for customers isn’t unheard of.