I have a project that I would like to be able to program via it's USB port. It uses a breadboard ATMega328P (Uno, essentially), and I need it to be compact (~1.4"x1.4", most of which is already taken up).
Is there a ready-to-use DIP package that can do this? Sure, I could build my own, but that complicates things (for instance, it cannot be used with the Arduino IDE)
If I'm not mistaken, this whole job would only take 8 pins (5v, Gnd, USBA, USBB, SCK, MISO, MOSI, RST), so it would be rather compact...

Any suggestions?

No, because you need something that can be programmed to interpret the USB signals and do the appropriate things via SPI; unlike UART serial, there is no "standard" USB-SPI behavior. You won't find a purpose built chip for this (market is way too small for custom silicon) - only microcontrollers programmed to act in that role (ie, the USBTinyISP, or USBAsp).

The USBTinyISP can be used just fine with the Arduino IDE though - I don't know what you're talking about there; just install the drivers (IIRC one wants to use Zadig for this) and choose "USBTinyISP" from the tools -> programmer menu.

I have a USBtinyISP. That is currently what I use to program this project (as it's in a sort of beta). I was just hoping I could find a pre-made one.
I know the USBtinyISP uses an AtTiny84 (at least the one I have) to program. Is there anywhere I can find it's firmware?

Can you read it with another ICSP programmer?

That page you linked to has the firmware for doing that on the smaller tiny85.

Hmm :confused:
I've never looked into avrdude's cmd prompt side, maybe I should.

Is there a method where I can tell the arduino IDE that the attiny is a programmer?

Unsure what you mean by that.