Now I think I can take a similar approach to get the State selection from the Parent when the Child announcement is made... so that the values saved against the field "state" (of "company-profile' CPT) are saved against the Announcement CPT without the need to get the user to select state (or even see the selection of state) but I am unsure of how to achieve this. This will only work on new announcements but I can live with that.
Do I need to create a new custom field in the announcements CPT to save the state data into so that I can filter announcements?
You mean to say - when user create new announcement using CRED form, you want to add state value as well to announcement that is auto pupulated just like you populated parent post id?
I think, yes, you can add new custom field that will store that parent "state" field value and prepopulate it with parent post state field value and later on you can filter your announcement by the state that is eventually a custom filed and you can filter your view by custom field easily.