If you're willing and able to do automation scripting, you have a few options.
It doesn't sound super time-sensitive, like the user attaching the document cares to see that it was renamed via upload while they are watching. Therefore, I think I'd be inclined to let Maximo do what it does and then have a daily escalation against PM that looks for FILE attachments that don't have the PM number in their name and invokes an automation script to "fix" that problem -- to rename the file and update the DOCINFO.URLNAME.
Alternatively, you could put a launch point on DOCLINKS.Save.Add.AfterCommit (with a filter to only fire when ownertable = 'PM') that does effectively the same as the Escalation discussed above, but more real-time.
There may be other scripting options, too, like launching on attribute DOCINFO.URLNAME, but those may get messy and problematic.
I hope that helps.