Update : Now facebook stores each and every chat in the history as messages.
You can get the chat history by clicking on Message button on the desired profile page.
You can use desktop chat clients to save Facebook Chat History. Two most popular clients are Digsby and Chitchat.
or if you are using Mozilla Firefox Browser, then you can install Facebook Chat History Manager plugin add-on.
Just visit the Mozilla Firefox addons page to install that plugin and hit the Add to Firefox button. After you have installed the add-on(s), you will be needed to restart the Mozilla Firefox.
Now visit Tools > Get Facebook ID. If you are signed-in to the Facebook Account, it will open the Facebook Chat History Manager application, and ask you to provide permissions to it. Hit the Allow button.
If you’re not signed in, then you’ll be needed to sign-in to your Facebook account and provide access to it. Once you’ve done that, a dialog box will appear displaying your account’s Facebook ID. Copy that ID in notepad (This will be required later).
Now visit Tools > Facebook Chat history Manager > Create Account.
Paste the copied Facebook account ID, and set a difficult password, which will be later used to access logs of your Facebook chat history.
Now all your chat history of Facebook will get saved and if you want to read them in future, just hit a combination of CTRL + ALT + F, and write the your Facebook credentials.
Here you go. An example is given below.