At present, ForeignSysID is never returned in getLead, getMultipleLeads and getLeadChanges operations, so you cannot read the values through the API.
You can set those ForeignSys field values with a syncLead(), and you can then reference leads with that stored ForeignSysID.
personName and orgName are defined within ActivityRecord. There is no such definition in getLead, getMultipleLeads and getLeadChanges
<xs:complexType name="ActivityRecord">
<xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="1" maxOccurs="1" nillable="false"/>
<xs:element name="activityDateTime" type="xs:dateTime" minOccurs="1" maxOccurs="1" nillable="false"/>
<xs:element name="activityType" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
<xs:element name="mktgAssetName" type="xs:string" minOccurs="0" maxOccurs="1" nillable="false"/>
<xs:element name="activityAttributes" type="tns:ArrayOfAttribute" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="campaign" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="personName" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="mktPersonId" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/>
<xs:element name="foreignSysId" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="orgName" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="foreignSysOrgId" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
</xs:sequence>
</xs:complexType>