The first part of checking against the time of day and then if it is before 12 PM setting the SLA to today or if it is after 12 PM setting the SLA to 3 week days in the future can be achieved using a formula like the one below:
If(ToTimeOfDay([TimeStamp])<ToTimeOfDay("12 PM"), ToDate([TimeStamp]), WeekdayAdd(ToDate([TimeStamp]), 3))
Unfortunately, accounting for holidays is going to be much harder. Weekdays and Weekends are differentiated by Quick Base so a formula function like WeekdayAdd will adjust 3 days in the future skipping over weekends but holidays are not a set value in Quick Base. So the formulas will not know for example that 12/25 would be a holiday and should be skipped. Instead the formula logic would need to be hard coded with a reference for each possible holiday outcome and then given different logic. That would then need a new reference for each holiday going forward that would need to be added in. That or the table structure itself would need to be built out with a special table that helps to track and adjust for all holidays. These holidays would then also need to be put in for each year. The holidays aren't going to be as easy as the time check and weekday adjustment.