How do I find the versions of all my UFs & HFs and dates of install on Splunk Enterprise?
For version you can go to the monitoring console (assuming that you have a centralized monitoring console) > Forwarders > Forwarders: Deployment and you'll see the versions of Splunk installed on your UFs and HFs.
Getting the date installed isn't as easy. But one way you could do that is to get the date of the first event from the host. This assume the install date was also the first date you got in data from that host.
index=main | stats min(_indextime) as mintime by host | convert ctime(mintime) | table host mintime
That search will take awhile, but you'll get your answer.