I'm not sure exactly what you mean by "never persisted in the internal data structures". However, the AuthnRequest sent by the SP uses the AssertionConsumerService from the SPSSODescriptor as the issuer. It is pretty much the same thing if you set the ServiceURL in picketlink.xml.
Thanks for the response.
To clarify the original question, what I'm asking is whether it would be appropriate for PicketLink to use the entity ID (from the metadata file) rather than the service URL as the issuer ID. It seems like a number of federations use the entity ID rather than the service URL to identify SPs; however, there is no easy way to get PicketLink to do this (because the entity ID is not retained after the metadata is parsed).
Would this be an appropriate feature request?