Hi Kyle! I would add this request on the API side of the forums. I think it would get to the specific audience you are looking for much faster. Just a thought!
You're on the right track. Store your collection on file ids and versions using something like this. You'd SetValEx for each file.
IEdmTaskInstance instance = poCmd.mpoExtra as IEdmTaskInstance; instance.SetValEx(FileID, Version);
And then in your task run you'd read those versions using the file id and GetValEx. Both task launch and task run have the same array of files.