I would use 2 DataLists.
DataListA will only show the top 5 comments, but under DataListA there will be a LinkButton with the text "### more comments ...". (This LinkButton will be hidden if it has only 5 or fewer comments)
When the user clicks on LinkButton, DataListA hides and displays DataListB.
DataListB shows all comments, not just the first 5.
LinkButton, , "hide ### comments...", DataListB.
Cache ASP.NET, .