Each letter and the bounding box area around each letter can be picked. If you are outside that bounding box or between letters the pick won't register.
If you want to be able to pick in between letters you could create a quad, place it near the text, and hide it. Then you could check if that get's picked:
Code:
import viz
import vizact
viz.go()
viz.clearcolor(viz.SKYBLUE)
text = viz.addText('Pick Me',pos = [-1.5,1.5,5])
size = text.getBoundingBox(viz.REL_LOCAL).size
quad = viz.addTexQuad(parent=text)
quad.setPosition(size[0]/2,size[1]/2,-.01)
quad.setScale(size[0],size[1])
quad.alpha(0.2)
vizact.onpick(quad,viz.logNotice,'You picked the text')
viz.mouse(viz.OFF)