The charging of capacitors to high voltages is going to take a while with most circuits, anything that can charge them really fast is going to be pretty dangerous, you could use a bank of them charged and discharged one after another from separate circuits, you have to build more circuits but the practicality of the results you want looks a little more attainable.
Can you nail down the specifics of what you're trying to do a little better you still have some pretty wide ranges you listed, if you could explain what you're trying to do instead of what you think you need it'll help us suggest something that'll work. This is a common problem here when people come in asking question based on varied specs they've pulled from what little the know on the subject instead of providing some details that we can look up ourselves.
We know one thing, you want 20 joule pulses, why that particular amount of power? You said a few miliseconds but again that's a huge possible range and will affect the total power you'll need (and what to suggest) again by several orders of magnitude, same with the voltage l leve you're charging to. It's a little unusual to see a specific joule requirement without a specific power associated with it.
If we had the EXACT period of time that that joule rating was required to be discharged over we could figure out the time period, or if we knew the time period. Better yet if we knew what you were trying to do we might be able to suggest these values ourselves.