1) Sì, ma su un'ipotetica altra piattaforma UNIX-like in cui i PID sono interi di un altro genere (ad esempio interi a 64 bit, dei long long int) il tuo programma non si riesce a compilare; usando invece il tipo pid_t hai la garanzia di usare sempre il tipo corretto per i PID (dal momento che il typedef di pid_t è inserito in un header scritto per il sistema operativo su cui stai compilando). Inoltre usando il tipo pid_t fai capire subito a chi legge il codice che in quella variabile verrà memorizzato un PID.
2) Eh?