Ci pensavo proprio questa mattina, a seguito di altri post letti.

Punto 1.
I caratteri lasciali scegliere all'utente: quindi definisci i caratteri al 100% nell'head e body. Se l'utente li trova troppo grandi o troppo piccoli sara` lui a cambiarli.
Non puoi sapere a priori se lo schermo e` settato a 800 o a 2048 e soprattutto non puoi sapere quale monitor c'e` attaccato. Con un monitor da 24 pollici, uno schermo da 2048 px genera caratteri piuttosto grandi, mentre con un monitor da 14" gia` 800 px creano caratteri difficili da leggere.

Tieni presente che di solito con uno schermo settato a 800 px il browser lo si usa a tutto schermo, mentre con risoluzioni superiori ai 1200 px conviene aprire il browser in una finestra.

Punto 2.
Quello che va limitato e` eventualmente la larghezza del blocco entro cui devono essere letti.
Infatti se la riga diventa troppo larga, e` difficile la lettura, mentre se e` troppo stretta occorre scorrere in giu` troppo spesso.

Quindi sarebbe da definire una larghezza massima del contenitore del testo (

o <div> o altro).
Una misura che potrebbe essere ragionevole in tutte le risoluzioni e con tutti i caratteri, potrebbe essere:
max-width: 60em;
che puo` anche aumentare se l'interlinea e` un po' larga, mentre potrebbe essere troppo con interlinea da 1 em.

Invece per la larghezza minima, occorre agire sugli altri blocchi che stanno attorno, quindi non si puo` dare un consiglio indipendente dalla struttura della pagina.