How long on average would it take to discover all other nodes in Bitcoin network and connect to them? Are there technical obstacles to this? I am wondering how long on average would it take for a node to discover all other nodes in Bitcoin network and connect to them? Are there technical obstacles to this?
how long on average would it take for a node to discover all other nodes

No normal node ever does this.
A normal node only connects directly with a very small number of other nodes (e.g. max 8 outbound, max 125 inbound) and relies on those other nodes to pass on information to the small number of nodes they are in contact with. This way information diffuses across the entire network.
Since nodes are continually appearing and disappearing any attempt to contact all nodes would be essentially endless or both incomplete and incorrect (it would include nodes that have been removed since the start of the discovery process)