no, decode can't do a "between", but you can use case
select ms.pid, pe.eligid,ms.fname,ms.lname,ms.dob,me.coveragebegindate,
pa.programid, rf.programname,pa.workflowstatus,rfw.programworkflowstatusdesc,
case when pa.workflowstatus between 100 and 400 then 'Active' end