Found a way to do this by passing HL7.[OBX] into the function instead of the fields

ClassMethod TwoFieldsInSegments(list1 As %String = "", value1 As %String, value2 As %String, position1 As %String = "4", position2 As %String = "6") As %Boolean [ Final ]

{
//$$$LOGINFO(list1_"^"_value1_"^"_value2)
//<OBX(1)><OBX(2)>
set returnValue = 0
for i=1:1:$length(list1,">")
  {
  set list1Value = $piece(list1,">",i)
   
  set position1value = $p(list1Value,"|",position1)
  set position2value = $p(list1Value,"|",position2)
 
  //w !,position1value,!,position2value   if (value1 = position1value) && (value2 = position2value)
  {
  set returnValue = 1
  }
 
  }
  quit returnValue
}