You could create an Archive Table, say, and use a script to post the data you want to archive to a record there. You can set the script to run from a script trigger if the field is changed. You could collect the User Account, the Time stamp, the name of the field that was changed (assuming you will want to track changes to more fields), the latest value, and a unique ID for that record.
If you create a relationship between the orginal table and the archive table linked by the unique record ID you would be able to show in a portal on the original record a history of all the changes.
You can make it more explicit to the user by having them enter the new data in a container field beside the real data field and have an 'Update' button beside it. You can then do any desireable data checks on the new value before updating it and posting the old and new values to the Archive Table.
ok im not even sure were and how to start with this. all the help is needed for this one