Mainframe - Is it possible to copy only first 100 records from one file to other file?

Yes, it’s possible to copy by using SORT utility.

SUM FIELDS=(starting position of first column, length of first column, based on variable format use
PD or ZD),STOPAFT=(in which record you want to STOP copy).

Example :
//DDName EXEC PGM=SORT
//SORTIN DD DSN=XXXXXXXXXXXXXXXXX,
// DISP=SHR
//SORTOUT DD DSN=XXXXXXXXXXXXXXXXXXXX,
// DISP=(NEW,CATLG,DELETE),
// UNIT=XXXXX,SPACE=(XXX,(XX,XX),XXXX),
// DCB=(*.SORTIN) Output file created using properties from input file.
//SORTWK01 DD UNIT=XXXXX,SPACE=(XXX,(X,X))
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,7,CH,A,9,2,CH,D),STOPAFT=(100)
SORT FIELDS
(1,7,CH,A) – 1 – starting position of first column, 7 – length of the variable, CH – Alphabetic or
alphanumeric, A – Ascending.
(9,2,CH,A) - 9 - starting position second column, 2 - length of the variable, CH - Alphabetic or
alphanumeric, D - Ascending.
STOPAFT
(100) - 100 – it will stop copy once 100th record reached in input file.