Depending on what you want there's a few options.
The inbuilt save option is the easiest, it just saves the current state.
If you want a bit more control you can save just the information you want to local storage.
If you want a full on system then the BinaryData plugin can be used to encode/decode a binary file.
If your intending to create a web app you can get users to select a file with the "filechooser" plugin, the "ajax" plugin can read the file into the "binarydata" plugin for you. When saving you can use the "browser" plugins "invoke download" action to download the contents of a "binarydata" object with a filename of your choice.
If your intending to create a desktop app (NWJS) then you can use the "NW.js" plugin to read a file directly into a "binarydata" object, and can write it back using the same plugin.
In terms of file extensions you can use pretty much anything, the 3 letter limit on file extensions date back to software restrictions in windows in the early 90's and isn't a problem anymore. So you can use as many letters as you want.