The only means of storing data across sessions within the MIDP framework is to use a RecordStore. A RecordStore is a kind of named "file", organised into records, each of which is a byte array. Records do not all have to be the same length. Take a look in the API documentation, for the package javax.microedition.rms. The amount of storage available is limited - I think about 20k on a 6310i. A RecordStore exists in the same logical "space" as the Midlet (not necessarily the same memory, though). By this I mean that the RecordStore is accessible only to the Midlet that created it, or to another Midlet in the same suite (same jar file). When the jar is removed, all the RecordStores are deleted also.
Hmmm... I think you're looking at the same document as me - "Characteristics of Nokia Java-Enabled Phones". I don't know why so much information is missing from the tables in this document. I'm working on a series-40 phone - using the 7210 emulator, and a real 6100. RMS works on both, so the available memory for this is not zero!! How much memory such a phone can be expected to have is, of course, a mystery! I seem to be able to create a record store of about 16k on the 6100 - whether this is typical or not, I don't know.
About the 3410 - the CLDC spec. calls for a minimum of 8k persistent storage, in which case it must have some! Try it - once you've created a record store, you can find out how much space is available for it.
The key point is: RMS space is quite limited on most devices, so unless you're developing only for a 7650, then you're going to have to use it wisely!