The easiest way would be to ask your user to copy their request
The other way is : create a report object that returns all the field values from the previous request.
Just typed the query and at first glance it seems to work fine.
SELECT
convert(nvarchar(max),URIF.form_elem_value) AS field_value,
convert(nvarchar(100),URIF.form_elem_name) AS field_name
FROM mdb.dbo.usm_subscription_detail AS USD
INNER JOIN mdb.dbo.usm_request_item_form AS URIF
ON URIF.subscription_detail_id = USD.id
where request_id = (select max(ur.request_id)
from usm_request ur
inner join mdb.dbo.usm_subscription_detail usd
on usd.request_id=ur.request_id
where usd.offering_id=%OFFERING_ID% and req_by_user_id='%USER_ID%')
Are you familiar with the necessary JavaScript to run this query and set the value to your fields?