I had another look at BAdI ME_PROCESS_PO_CUST. It has a method called IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_ITEM. It has a changing parameter CH_FIELDSELECTION which apparently will contain metadata for the various fields. In this table, there is a field called FIELDSTATUS. I think you can try changing the value of this field. An asterisk '*' means display. You can check the correct value for editable (maybe '+'). Have a look at the method implementation in the example class CL_EXM_IM_ME_PROCESS_PO_CUST and it should give you a good idea about what code to write.
Do let me know if it still does not work.