I haven't looked at the details of the Liferay chat portlet, but if it's based on the portlet specifications JSR168 or JSR286, it should work.
That said, I doubt it's completely standard; it most likely relies on Liferay proprietary APIs or external data sources, etc.
You can do this with the Smack API in a Seam portlet:
Once you have it working in a Seam app, just add the portlet bridge jars and a few xml configurations, and wala! you have yourself a chat portlet!
Get started with this Seam portlet archetype here:
mvn archetype:generate -DarchetypeGroupId=org.jboss.portletbridge.archetypes -DarchetypeArtifactId=seam-basic -DarchetypeVersion=2.0.0.BETA -DgroupId=org.whatever.project -DartifactId=seamproject -Dversion=2.0.0.BETA