I'm wondering if it's via the api is possible to see if a property for a page is marked as searchable, or get all properties for a page that are marked as searchable?
If you have the PageData it has a PageTypeId property. Use the value of that and the PageType.Load method to get the PageType. The PageType has a collection of PageDefinition objects which describe the page properties of the page type. Each of them has a Searchable property.
The below link might be helpful for you