Se vuoi eseguire lo stesso codice utilizzando però query com condizioni differenti (ovviamente sulla stessa tabella) puoi scrivere una function che si occuperà di eseguire e visualizzare i risultati di una query passata come parametro. Ciò ti eviterà di duplicare il codice ogni volta.
A questo punto ti basta passare di volta in volta la query voluta alla funzione per visualizzare le tipologie di commenti che preferisci:

Codice PHP:
$queryPiuCommentati "SELECT *, DATE_FORMAT(datetime,'[b]%d.%m.%Y[/b] - [b]%H:%i:%s[/b]') as datatime FROM articoli ORDER BY commenti DESC LIMIT 5";

showComment($queryPiuCommentati); 
Codice PHP:
function showComment($query) {
    echo 
"<h1>I più commentati</h1>";
    echo 
"<div class=\"corp\">";
    
$piu_commentati mysql_query($query);
    
$flag_colore 0;
    
    while (
$piucommentati mysql_fetch_array($piu_commentati)) {
        
$titolo $piucommentati['titolo'];
        
$content $piucommentati['content'];
        
$sezione1 $piucommentati['sezione1'];
        
$sezione2 $piucommentati['sezione2'];
        
$url $piucommentati['url'];
        
$materia $piucommentati['materia'];
        
$dt $piucommentati['datatime'];
        
$commenti $piucommentati['commenti'];
        
$si $piucommentati['si'];
        
$no $piucommentati['no'];
    
        
$content strip_tags($content);
        
$content substr($content0499)."...";
    
    
        if (
$flag_colore == 0) {
            echo 
"<div class=\"cont1\">";
            
$flag_colore 1;
        }    else {
            echo 
"<div  class=\"cont2\">";
            
$flag_colore 0;
        }
        
        
$show_comment = ($commenti == 1) ? "commento" "commenti";
        echo 
"<a href=\"$url\">".ucfirst($titolo)."</a> 
"
.ucfirst($content)."
$dt | <a href=\"http://www.atuttascienza.altervista.org/ricerca.php?search=" $materia "\">"ucfirst($materia) . "</a> | Mi piace: [b]$si[/b] - Non mi piace: [b]$no[/b] | [b]<u>$commenti $show_comment</u>[/b]";
        echo 
"</div>";
    }