Senza entrare nei dettagli implementativi della tua classe, ogni metodo che richiama lis all'interno di operator==, deve essere const

Codice PHP:
template<class Tbool lista<T>::operator==(lista<T> const &lis)
{
    
typename lista<T>::posizione p1 this->primolista();
    
typename lista<T>::posizione p2 lis.primolista(); // primolista deve essere const
    
bool esito false;
    
bool fine false;
    
    while(((
p1 != this.sentinella) && (p1 != lis.sentinella)) && fine == false)
    {
        if(
this.leggilista(p1) == lis.leggilista(p2)) // leggilista deve essere const
            
esito true;
        else
        {
            
esito false;
            
fine true;
        }
        
p1 this.succlista(p1);
        
p2 lis.succlista(p2); // succlista deve essere const
    
}
    return 
esito;

Se alcuni dei metodi che ti ho elencato non possono essere const (ripeto, non entro nei dettagli della tua implementazione, quindi devi valutare un pò tu), allora lis non può essere const.