I mean can the nodes of MS SQL Server failover clustering be geographically separated and besides high availability also provide disaster recovery?
By itself, no: clustering relies on shared storage. A failover cluster with shared storage looks like this:
All 4 of the components - the 2 servers, the switch, and the shared storage - should be located in the same data center.
Disaster recovery is about maintaining availability even when you lose a data center. That means you need the same infrastructure pictured here, but in yet another data center, with some kind of mechanism keeping the data in sync between those environments.
- Storage replication
- Always On Availability Groups
- Log shipping
- Database mirroring
But all of these are above and beyond plain ol' failover clustering.