What if you have the data stored in a custom table. Then you can use the Custom table form, or perhaps this to actually input the data. The linked webpart has more flexibility and can redirect the user to different locations, etc. Then in the custom table view, you can have the edit form allow for the user to update the status, select approve or deny from a dropdown list. We have implemented this on many sites and it works perfectly. As long as you have the default values for the approval field set to -select- or if you want to auto deny them at first, then set it to deny. You could also show a view of this based on if that one field is set to approved...etc.