Try using the 
<window>.screenToWorld command. Is this what you're looking for?
	Code:
	import viz
import vizact
viz.go()
viz.link( viz.Mouse,viz.addTexQuad(viz.SCREEN,texture=viz.add('crosshair.png')) )
def addBall():
	
	ball = viz.addChild('ball.wrl',cache=viz.CACHE_CLONE)
	line = viz.MainWindow.screenToWorld(viz.mouse.getPosition())
	pos = vizmat.MoveAlongVector(line.begin,line.dir,10)
	ball.setPosition(pos)
	
vizact.onmousedown(viz.MOUSEBUTTON_LEFT,addBall)
viz.mouse(viz.OFF)