To query for list items based on managed metadata field, first we query the
TaxonomyHiddenList to get the
WssId for the terms we search for. As the title says, does this WssId ever change or is it safe to cache indefinitely?
I think you can use it for long time as long as that term is exist in the term stores. as this property "A 32-bit integer that uniquely identifies the list item containing the taxonomy field in a list"
Here is good explanation of the wssid
When you assign value a TaxonomyField, an item is created for the selected Term (or if there is already an item for the term, that item is used) in a hidden list called TaxonomyHiddenList in the root web of the site. The WssId is the Id of that item in the TaxonomyHiddenList .