Encontré la respuesta en este interesante sitio llamado 1de3. Antes, lo de "verde" aludía a que la persona en cuestión, de edad avanzada, estaba todavía activa y vigorosa, por lo que decirle a alguien "viejo verde" era un elogio. Dicen allí: "Incluso a los hombres maduros de pelo canoso se les comparaba con las cebollas (...), que se caracterizan por tener la cabeza blanca y el rabo verde, de donde proviene otra expresión más peyorativa aún: viejo rabo verde". En algún momento de la historia, en castellano se transformó la frase en algo obsceno (mientras que en italiano y en francés continuó siendo algo positivo). El por qué del cambio se ignora.
Y ¿cómo se traduce?
En inglés se utiliza una frase bastante descriptiva para decir lo mismo: dirty old man o randy old man... Sinónimos de randy son concupiscent, goatish, horny, hot, hypersexual, itchy, lascivious, lecherous, lewd, libidinous, licentious, lubricious (or lubricous), oversexed, passionate, lustful, salacious, satyric, wanton (según el Webster).
