By default, the st.data_input() does not appear to support greying out specific dates. What is possible is specifying the date range via min_value and `max_value) parameters (st.date_input - Streamlit Docs). It may be possible to create an implementation but that may require creating a custom component (Create a Component - Streamlit Docs).
An alternative solution may be to have users select a date via st.date_input then perform a list comprehension to see if the selected date is available in the unique_dates variable. Next, use if-else conditions to print out a message to users whether the selected date is available or not.