The closest you can come, is by using a Stopwatch. But again, it "only" support ticks, and one tick is 100 nanoseconds.
This means that PC hardware, as seen from the .NET, can't measure times like 17 nsec.
One other thing, from the OS point, is the thread where "the delay is executed". Assuming you would manage to construct a "magical loop" which has an execution time of 17 nsec. and that loop is run in the UI thread, how can you be sure that OS doesn't swap out, for one reason or other, your loop in the middle of the execution?
I suggest reading the link I gave first. You can also google similar articles. Not articles related to VB.NET itself but more like engineering articles that talk about controlling devices with PC.
It may be that you need some additional tools to VB.NET. I mean you may have to use a lower level language i.e. assembler to get precise enough timings. You could also check if Windows API provides any methods for high precise timings.