What tools are available to migrate from clearcase to mercurial? Is it possible to move history? What kind of limitations are there?
You might start on the mercurial site at Information for Clearcase/UCM Users and at Conversion of ClearCase repositories to Mercurial
Do not forget that ClearCase (Central VCS) and Mercurial (Distributed VCS) are very different.
See Core ClearCase concepts for a full list.
In the case of a migration, that means you are dealing with a repository-centric VCS (Mercurial) which implies "working with timelines" (a timeline being a commit, building a new changeset)
In ClearCase though, there is no global timeline, as each file is committed individually (file-centric VCS).
So for a migration, you need to setup a ClearCase dynamic view with a config spec you will change to list all relevant "ClearCase timelines" (labels for non-UCM views or even better: baselines for UCM views) and import that fixed state into Mercurial.
And repeat the process until the most recent label/baseline.
The idea is: there is often no need to import the all history of all the files when migrating from ClearCase to another (D)VCS. Only the "significant" changes need to be recorded.
I would not recommend the "Conversion of ClearCase repo to Mercurial" article, especially for large and old ClearCase repositories.
See also SVN migration for other considerations.