High sample rate over short period

I am developing a pulsed power system with significant size constraints and so I would like to avoid adding an additional ADC to an ATMega328p. I need to sample pulses between 100us and 1ms long. I see that you can change the prescaler and use 8bit resolution and interrupts to get to ~77kHz. This sample rate/resolution would be sufficient.

My question is how would I go about initiating a sample set, storing that set and then sending the set over the serial bus? The maximum pulse frequency would be 50Hz.

Free-running mode will give an interrupt when each analog sample is finished. Your interrupt handler can then copy the result into storage.

Look at how much SRAM is available on the 328P and determine how many samples you can fit into that memory. If you need more samples then saving to a SD card or FRAM will impact the sample rate you can achieve

More advanced Arduino variants such as the Due and Teensy can use "DMA" which allows the analog subsystem to directly store data into memory without interrupting the main processor. There's a long-running thread on the Due section on how to do this. Obviusly the Teensy is smaller, so it may fit your size constraint better.