Is it possible to automatically create a link from the closest node to the cursor when the mouse enters the diagram surface?
Yes, you can programmatically start the Diagram.LinkingTool as if the user had done a mouse-down-and-drag on a valid port of a node.
Take a look at the documentation for LinkingTool.StartElement.
But you’ll need to find that starting port first. You can do that by calling myDiagram.Panel.FindPartsNear(myDiagram.LastMousePointInModel, …). You’ll need to search through that collection to find the suitable Node that is closest to the given Point. And if there’s any choice of ports in the node, you should find the desired port element in that node.