Iirc, there was a post asking a similar question (switching BLE profiles), and I want to say that the conclusion was no. There is no way to switch the profiles dynamically on the fly; But, I don't know for sure...
Hmm, I did not see the post come up in my search. I'll try and dig some more. It sure would be handy!! And it seems like a reasonable thing to do.
Thanks to your guidance, I was able to find this "Supporting two profiles BLE", but it does not give any discussion about how to actually do it. Any ideas?
I found the relevant thread that I was referring to here: Re: Multiple profiles, supported?
The answer is no unfortunately.
Theoretically, you could implement a profile, and then just operate on the profile service values/attributes with application code, which would allow you to update how the values/attributes are handled in the application code, but that would defeat the purpose of having data separated into individual services...