It sounds like you're discussing two different things in your question.
The first is the ability to load the sqllite3 library. As noted by Jackson, you'll need to include the sqllite3 library (tcl and accompanying files) in the lib directory of your starpack. Once that is done correctly, the "package required sqlite3" command should work correctly.
The second is in regards to the -writable flag. If I'm understanding correctly, that just allows you to modify files within the starpack while it's running. It has nothing to do with the ability to load a library included in the starpack, but would be used to allow that library to modify files (like the database file you talked about).
I was under the impression that it wasn't possible to write to a (a file inside a) starkit that is running, due to certain OS constraints. That being said, I found the following from Brent Welch's amazing book "Practical programming in Tcl and Tk":
If you run the write.kit file more than once you will notice that the write.kit/data.new file not persist between runs. This is because, by default, the Metakit database is modified in main memory and it is not written out to the Starkit file. if you want to store file long term, use the -writable flag to sdx:
sdx wrap write.kit writable
Referece: Google Books