danistrein: lo que creo que no has entendido antes de la intervención de kseso? es que el problema lo tienes exactamente porque estás usando palabras sin espacios, y es ahí donde el navegador no sabe dónde cortar la frase y por tanto no se puede inventar el salto de línea.
En realidad, si lo que metes es un texto normal y corriente, con el código que tienes el texto saltará de línea y agrandará la caja hacia abajo tal y como tú quieres.
Mira que ejemplo más simple:
Cita: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es">
<head>
<style type="text/css">
.caja {width: 340px; border: 1px solid #f00;padding: 10px;}
</style>
</head>
<body>
<div class="caja">
<p>Esto es un texto de prueba para ver si se corta y amplia a dos líneas o las que sean necesarias. Esto es un texto de prueba para ver si se corta y amplia a dos líneas o las que sean necesarias. Esto es un texto de prueba para ver si se corta y amplia a dos líneas o las que sean necesarias. Esto es un texto de prueba para ver si se corta y amplia a dos líneas o las que sean necesarias.</p>
</div>
</body>
</html>
Copia y pega para verlo en el navegador.