Hello,
Have you taken a look at the ootb task model for review? The model defines a 'comment' text field. For rejection, you can extend the model and add 'Reason' or what have you. Part of the transition would then read that field, and add the necessary aspect to the documents in the bpm package and set the rejection reason.
If you desire to make it upon 'Reject' button is depressed, you might have to fallback to some custom java and jsps to get your desired result, or modify some of the client side js.
Just some suggestions/areas to look at.