Thanks for the response.
So just to clear up the whole process:
1). Upload firmware so that ATmega16U2 can be detectable as an Arduino board (I'm using the Uno in this case)
2). Make sure the bootloader is burned on the ATmega128 and do not upload any code onto it using an external Arduino Uno and using the sketch Arduino as ISP.
3). Chose the port on the Arduino IDE and select whichever one is associated with how the ATmega16U2 is disguised as. Fix the other parameters to the ATmega128 board, my set up (concerning clock, BOD, etc), except hit Bootloader: Yes (UART0).
4). Click upload and the sketch should upload through the Arduino Uno port (the port the ATmega16U2 is connected to) and to the ATmega128.
I attempted this process and the Arduino IDE continued to get hung up on when trying to upload to the board. What am I doing wrong?
For reference, I have connected the ATmega16U2 to the ATmega128 exactly alike how the Uno and Mega boards are hooked up. I know the ATmega128 is somewhat different due to the fact that uploading anything (or burning the bootloader, in this case) requires the TXD0/RXD0 pins instead of the MISO/MOSI pins like the Uno and Mega, and those pins are the ones directly connected to the ATmega16U2. Could this be the reason why I cannot upload to the ATmega128 by any chance?
Thanks so much for all the recent assistance, it has been really informational and useful.