Dedicated sketch uploader/installer

Nope, you misunderstand.

In normal operation, my program is not connected to a computer at all, it just spits out MIDI. But I want to provide the option (typically as a one time "setup") for my end user (who doesn't speak Arduino and I'd like to avoid having to make them putter around in the IDE) to change the values of a number of variables I declare in the beginning of the sketch permanently.

So I need to either give them a more automated way to reload the sketch onto the Arduino after they run a script that edits those values, or I need to have a way for the Arduino to tell that it's connected via USB, rather than MIDI (and this can even be as simple as holding a button down on boot, as long as the button can otherwise function as a normal input), and then to have the PC/Mac program send it those strings, and write them to EEPROM.

I fully understand the basics of how to get it to talk over serial, my issue is either booting the Arduino into an alternate "programming/editing" mode, in which case the program on the PC can send it those values, and the Arduino will write them to EEPROM, or to make a completely idiot-proof way to install the Arduino's drivers and have an automated "installer" to upload the sketch to the Arduino.

Does that explain what I need any more clearly?