Tu problema es un problema de visualización unicamente... y opcionalmente de parseo de datos. Tenes manera de resolverlo con la regionalizacion (la funcion setlocale de php).
Yo preferiría hacer lo siguiente (para no tocar demasiadas configuraciones en el script):
- dejar ingresar en el textbox "20.000"
- al ingresar ese valor en la base de datos, parsearlo primero y convertir ese "20.000" en "20000"
- cuando desee mostrarlo en cualquier lugar parseo de nuevo, y convierto ese 20000 en 20.000
Hay maneras de dejar ese 20.000 funcionar de manera "natural", pero te vas a topar en muchos lugares (x ejemplo en javascript) con el problema de que 20.000 x 2 = 40, y no 40.000 como esperas.
Más que nada por esto ultimo es que yo preferiría guardar los datos de manera transparente y formatearlos segun sea necesario (con punto, coma, o lo que sea). Me permite hacer las operaciones sin tener que hacer conversiones extrañas, estimo que es más adecuado convertir al visualizar que al operar con los datos.
Espero q el aporte haya servido.
Slds
Grc.