Okay, after some experimenting, I've got a macro that does what I'm looking for:
ADDRESS ISREDIT
"MACRO"
USERD = USERID()
"ISREDIT(LINER) = LINE 1"
"LINE 1 = ""//"||USERD||SUBSTR(LINER,LENGTH(USERD)+3,71)||""""
"SUBMIT"
Since all of our JCLs begin on line 1 with the job card, I setup the macro to just change line 1 and replace the first characters after the "//" with my userid and it will leave everything else about line 1 in tact. Then it will submit the JCL. I've tested this with a couple different JCLs and as far as I can tell it's working as intended.
I do have some another question on something that I wasn't able to find any answers on: So far I've only been able to execute this macro while in EDIT mode. Everything I've seen states that ISREDIT can only be invoked while in EDIT mode, which is understandable. But my question is, is there anyway to get this macro to run from the 3.4 member list without opening the JCL? For example if I have a member list as shown below and I want to run macro "SUBM" (Submit Macro), I'd like to be able to enter "SUBM" on the line like so:
VIEW AQJENTZ.JCL.CNTL
Command ===>
Name Prompt Size Created
_________ TESTJCL1 108 2016/01/27
_________ TESTJCL2 *Viewed 121 2011/11/29
_________ TESTJCL3 113 2011/11/29
_________ TESTJCL4 389 2011/11/29
_SUBM____ TESTJCL5 *Edited 25 2011/11/29
**End**
When I do this, the macro gives RC(20) which I'm pretty sure is due to not being in EDIT mode on a dataset. However, if I used "SUB" like this, instead of "SUBM," the JCL job will be submitted and that's what I'm hoping to imitate, if possible. I'm imagining that the macro would have to identify the selected dataset, open that dataset in EDIT mode, and THEN run the macro that I have put together, but I'm not finding much information on how to do those first two steps. Is this possible?
I know that this is straying for the original JCL topic and is getting more into the territory of "CLIST & REXX," but I wasn't sure if I should create another topic over there for this question or continue in this post because it directly relates to my original topic. Feel free to let me know if I should post to "CLIST & REXX" instead and I will gladly do so. Thanks again everyone for your help! I certainly wouldn't have gotten this far without your guidance!
The rest of this is just some FYIs for anyone else who might be searching for the same information that I was:
- I found different ways you can setup and run REXX macros from the EDIT screen on a dataset. The first one I found was a "no setup" way and it worked by just entering the following on the command line:
TSO EXEC 'the-name-of-the-PDS(member-name)' EXEC
This could potentially work for some people, I'm not certain, but for me, every line in my macro would RC(20) no matter what syntax I tried in the macro. I ended up going a different route that had some setup, but still has some drawbacks. Basically, setup a dataset that includes:
/* REXX */
"ALTLIB DEACTIVATE APPL(EXEC)"
"ALTLIB ACTIVATE APPL(EXEC) DA('name-of-your-REXX-PDS')"
Then on the command line run:
TSO EXEC 'the-name-of-the-PDS(member-name)' EXEC
Where the member name is the name of the setup dataset I outlined above. After that, you can just enter the name of the REXX macro on the command line to run it. For example, if I have macro "SUBM" in my 'name-of-your-REXX-PDS' then I just have to enter "SUBM" on the command line each time I want to run it. The drawbacks are that you have to do this setup every time you log in and for any split screens. This is a more ideal way to setup your REXX PDS by including it in your TSO Logon Procedure, but I haven't done that yet since I wanted to see if what I wanted to do was even possible before going through the steps to get that setup.
I found this information here: http://theamericanprogrammer.com/programming/rexxsetp.shtml
- If you are still having syntax issues with the code example that Terry provided, perhaps try the syntax I used. For example, Terry's would look like:
ISREDIT MACRO
ISREDIT LINE_AFTER 0 = "//AQJENTZX JOB (M9999),"
The format that worked for me was:
ADDRESS ISREDIT
"MACRO"
"LINE_AFTER 0 = ""//AQJENTZX JOB (M9999),"""
I'm far from an expert on this, so I'm not sure why there has to be a difference between our syntaxes. Could just be how my shop is setup or it's possible that I wasn't setting up REXX properly to use Terry's syntax. All I know is that it ended up working for me 
- is very helpful! Use it!
Those were the major hurdles I had when trying to trying to get the macros working. I know these are novice issues, but hopefully this will help save someone some time in the future!