No, I don't know a specialized date function for that purpose. But as you said, creating a flag in your master calendar should be easy, like
Month & ' - ' & Half as MonthHalf;
Month(Date) as Month,
if(Day(Date) < 15, dual('1st Half',1), dual('2nd Half',2) ) as Half,
or adapt the condition to how you want to distinguish your halfs.