1)Pues en la caja de texto donde escribas puedes usar el evento KeyPress, KeyUp, KeyDown o como te acomodes para que cada vez que alguien escriba algo lo guarde en la BD, y para mostrarlos cuando estas escrbiendo puedes hacer un Select "Campo" Like "texto*" y listo
2)Interfaz ????? osea como?????, te refieres a usar xejemplo un datagrid o cosas asi???
3)puedes usar instrucciones de SQl "SELECT campo FROM Tabla WHERE CampoX = Textoabuscar", si da registros pues ya existe, o si no puede depende de que controles uses para acceder a la BD puedes usar el FINDFrst, FindLast....
aqui el problema es que el método print form envía los datos a la impresora con la resolución que tienes en pantalla, tarata de bajarle la resolución y manda imprimir a ver si con eso cambia el resultado en la impresora