OK. Let's go back from the top.
You can use a DFSORT job step to create the value for yesterday's date (current date - 1):
//STEP0001 EXEC PGM=ICEMAN
//SORTIN DD *
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
Now, we still haven't determined how and where you'll use that value. Are you going to build a new job to run after the current job, with the date supplied as a pre-determined variable? Will you write that date value into a member of a PDS and use it for subsequent jobs? Will you use it from within some sort of dynamic dataset allocation routine?