При вызове сохраните время окончания:
var end = (new Date).getTime() + 20000 * 1000; // current time in ms since 1/1/1970, plus the interval time
window.setInterval(retrieveLog, 20000);
и добавьте еще один интервал, который обновляет текст:
var interval = setInterval(function() {
var now = (new Date).getTime();
$("p").text(Math.floor(( end - now ) / 1000));
if(now > end) clearInterval(interval);
}, 1000);
http://jsfiddle.net/pimvdb/b25KR/