I believe avrdude will automatically detect a USBtinyISP, since it sits on the USB bus with a uniquely-identifiable set of USB parameters that can be read. The normal Arduinos need the additional "port" specification because LOTS of things can use the same style of USB/Serial adapter chips, and you're more likely to have more than one arduino connected at the same time.
You totally had the answer, westfw. I think I could sum up what you were saying as simply "You don't see a com port number because there ISN'T one. You just plug it in, and it WORKS!"
So I googled "usbtinyisp arduino ide" in search of more info on how to make it just work. That led to this Instuctable which says to "open up arduino ... [and] go to file>upload using programmer".
I did so, and -- lo and behold -- the green LED finally lit up on the little programmer, and my program installed! Naturally, I was anxious to test the newly installed program and yes, it worked perfectly.
I'm still unable to install the bootloader using the hardware programmer. I get the error message "avrdude: verification error, first mismatch at byte ....". Which googling revealed is a bug in the system with solutions beyond what I want to try. And really, I don't need it now anyway.
There are two obvious advantages to not having an internal bootloader: (1) More memory available for my program, and (2) my program starts instantly instead of waiting to see if the bootloader is going to receive a new program to install.