Answer
No — a custom field's Default Value PL/SQL Expression doesn't support passing parameters into the function it calls; this is a confirmed platform limitation, not a syntax mistake in how the parameters were written. A Default Value PL/SQL Expression needs to be a parameterless call or a fixed expression, rather than something that takes the current record's own field values (like contract or catalog number) as runtime arguments.