Los contratos por Duracion de Obra, se consideran como superior a un año, por lo que el calculo debe hacerse desde la fecha de alta hasta el 31/12, aplicando la tabla.
En caso de ser baja antes del fin de año, el mes de la baja recalculas el IRPF, y posiblemente el descuento de ese mes se 0.
Saludos.
P.D. Esa es la norma que aplicamos nosotros en el Dpto. de RRHH.