Okay, I made a few edits in your patch with some notes. I realize my explanation about the [sel 0] wasn't that clear earlier.
The volume and pitchbend stuff are in subpatches with .mmb at the end of their names; volume is in the main patch, pitchbend in voice 1. I typically add the half steps I get from pitchbend to the MIDI note values before converting them with [mtof], but I'm not sure what you're doing with your math, so you might have to modify it to suit your needs (I didn't test this with any of my samples).
As for mod wheel, it really depends on what you want it to do! Remember, the names given to cc values in the MIDI spec are just guidelines to make things a little easier to program, but they're really arbitrary. cc7 doesn't have to be volume. And mod could be anything; often times it's vibrato, opening a filter, or a combination of things at once.
It looks like hitting a new key might cause a previous voice to start playing a different sample with the way you have things set up. You might want to put that whole [route...]->[set array( setup in the voices to prevent that. Also, the reading-a-file-again-each-time-its-corresponding-key-is-pressed thing probably isn't necessary. I think you're just doing it to get sample lengths. You could just loadbang at start and put their sample lengths in at different indexes of a new table, and then just look them up when you need them (probably with the [route...]->[set array( setup).
http://www.pdpatchrepo.info/hurleur/FINAL_PROJECT.mmb.pd