Question: I need help storing data within a python program. I don't want the user to be able to touch the data at all. I've looked into pickle but many posts say it is "insecure".

Answer: 
You **can** try to stop the program from running if it's been tampered with, for example by comparing its (md5) hash to a known good value. Check out the Chrome OS project for an example of a system which does roughly this.

You **can** try to stop the user from understanding your program and data written to the disk, for example by encrypting it and hiding the decryption subroutine, or by obfuscating the source code.

But you can't stop a determined user from destroying your program and its data or from interrupting it. Once your program is in the air, I think its memory segment is protected from access by other processes. This doesn't stop a user from decompiling and trying to make sense of your program before running it, though.

Security which aims to protect software from its owner is bound to rely on clever hacks. Remeber that your clever hacks are subject to circumvention by other clever hacks. Python was designed as an open language, so you might have better luck with other languages if you intend to design "sneaky" programs.
Maybe you should look at CouchDB? You basically store data in JSON as document. It works perfectly. 

<http://code.google.com/p/couchdb-python/>