I have set up a ethereum private network and the data directory configured in the same machine. Is there anyway to create the data directory in a separate machine and connect the geth to that. The scenario - geth will be running in machine 1 and the data directory will be in a different machine 2.
You would need to use a networked file system to have your operating system to mount a folder from a different computer.
As this is not strictly Ethereum specific question, I will give you some names to start
Windows Network Shares or SMB
Linux NFS