Even if you don’t have a C wire, you can use an external power brick to power the smart thermostat in place of a C wire. Otherwise at least the Honeywell thermostats come with a C-wire adapter than can be wired into your furnace control box and shifts some of the wires around to provide a C wire. I found the external power brick to be a little less daunting, but either option should work for you.
Yes, that’s certainly possible - you would just create an automation in Home Assistant that toggled the garage door when the switch is pressed. A switch like that is designed to replace to replace a regular light switch, so when you trigger the switch it’s also going to trigger whatever that switch is wired to. You want to make sure that switch works with Home Assistant - most do, but if you can get something that runs Tasmota or ESPHome then you will know you have something that works with HA and is fully local rather than depending on a dodgy cloud service.
If you want something that operates independently of the light switch, there are a bunch of Zigbee battery-powered switches that work well if you have a Zigbee dongle on your HA box. I have had good luck with these if you use the Home Assistant blueprint for them: https://www.amazon.com/Aqara-WXKG11LM-Switch-Wireless-Remote/dp/B07D19YXND/ref=sr_1_12?crid=31P95EAUGD369&keywords=home+assistant+scene+controller&qid=1699888273&sprefix=home+assistant+scene+controller%2Caps%2C97&sr=8-12