That's a kind offer, but I'm not looking to contract out the work.

Are you willing to share whatever your insight is or a reference resource?

I follow you, but I can't use the webservices port (I can't know what it is a priori, nor can I guarantee that it is even running or available.)

Instead of:

for x=1:1:pNum {
    set roman = roman_"I"
   }

Try:

set roman = $Translate($Justify("", pNum)," ","I")

This can be used to generate an arbitrary number of any arbitrary character.