Los títulos y descripción se escriben y va a ser algo dificil compararlos, más bien se podria comparar palabras, tal y como hace la web stackoverflow, cuando vas a poner el título aparecen preguntas similares. No es lo que quieres, pero de otra manera se van a subir anuncios duplicados (aunque no tengan el mismo título o descripción).
Para ello necesitarás
Ajax. Crea un script php que haga el select y compare (post o get). Luego haces otro script, con javascript o jquery para mandar el texto a comparar y, depende como lo quieras hacer, muestras o no el mensaje de error.
Nunca he hecho algo así en ajax, pero debe ser muy simple: El trigger podría ser el focus del campo de texto tal y como has dicho: al pasar al campo siguiente se le hace focus y puede usarse como trigger (activar el script).
$selector // body o parent
.on('focus.inputtext', function() {
// aquí harias el ajax request
// yo usaría post en lugar de get
})
.on('otro', 'selector', function() {
// si necesitas hacer cualquier otra cosa
});
Lo hago así porque si vas a trabajar con elementos dinamicos es mejor usar on() que siempre funciona.
Tendrás que pensar de que manera vas a comparar, no te recomiendo comparar solo el título entero.