First use GSV to get the WallClockTime object into a UDT tag with elements containing two-digit year, month and day of month in INTS. Call them YR, MO and DY.
The holiday calendar is then easily done with another tag of type DINT in an array of [100,13,1]. The Dimension 2 represents the two-digit year, Dimension 1 is month (1-12) and Dimension 0 DINT bits represent the day of month, 1-31.
You'll need to code the bits in the array to represent the calendar you desire. In my case logic 1 represented an 'on-peak' day for the local electric utility, M-F except American holidays; so the Wednesday May 13, 2020 bit represented by array location [20,5,0].13 would be logic 1. Somewhere in the past I came up with an Excel calculator to provide the DINT values for each month in the array automatically (i.e, value 1014823410 was for May 2020) but since lost it. I'm in the process of writing a one-time Ladder Routine to index through my array and automatically fill in all 99 years. That looks like it will be fairly easy for my utility using American holidays.
Once the array values are set, a single rung of indirect referencing the array bits using your WallClockTime tag can be used to check if today is a holiday (or whatever):
XIC calendar_tag[YR,MO,0].[DY] OTE is_holiday_tag