Take a look at Manic, a free VSTi that seems to do just what you are asking for:
Description from website:
manic is an 8 slot random sample player where you decide the samples,
but manic decides when to play them. Samples are triggered according
to their probability, on a tempo sync pattern. Also allows for
randomising of volume, pitch, pan, delay,...
I'm doing exactly this with Java code that I have written. I'm using it to create soundscapes for games. As far as I know, FMOD (there is a free version, it is the sound library that comes with Unity) could also allow you to program this, as suggested in the comments above.
Really, I'd think that any programming language that can play back sounds should be ...
Absynth's Aetherizer effect module is a Granular effect module that can has a lot of these features including randomization and Surround Panning. You can assess whether this will work for you, but some features include:
Predelay: 0.1-500ms, Random
Rate: 20hz - 1000hz (E.g. @20hz a whole 1 sec sample will be reconstructed with 20 grains), Random
Duration 0 - ...
The only real-time plugin that would come even close to what you're wanting would be a granular plugin. Granular plugins give you the ability to modify the cycling speed and randomization of each grain, unfortunately, I do not know of a granular plugin that lets you independently choose the pitch of each interval. This may be something you have to do ...
This is very easy to do in Ableton with follow actions, but you can probably get a similar effect in Logic with EXS24.
Load a dozen or so samples into an instance of EXS24, then use Logic's arpeggiator to throw random notes at it. You may need to use multiple instances of EXS24 in order to make use of all 400 of your clips.
'KFootsteps' = Free Kontakt footsteps instrument. Click on 'Libraries' and then on download.
'Edward' = 59$ Kontakt Footsteps-instrument.
And Google 'AudioSteps Pro' from 'Audiogaming' (Sorry I only get to share 2 links because I'm new on this site)