Hi,
I don’t know about any option to do that with the joystick (I’m still a newbie in using ABB robots). But I think that you could try to make a procedure with one loop, which shifts the position of the end-effector in one axis. That means the end-effector will maintain its orientation. (I did it in RobotStudio and visually it looked quite well, but I don’t know how it actually would work in practise). The code would look something like this:
MODULE module_name
VAR p1 … !definitione of the point
PROC procedure_name
FOR i FROM 1 TO 2 DO !repeat
p1.trans.x:=p1.trans.x+0.5; !point shift in positive x direction by 0.5
MOVEL p1 … !move to the shifted point
!if need be input other instructions 
ENDFOR
ENDPROC
ENDMODULE
You could execute it by one shift at a time using the step button on the FlexPendant or just execute it normally only changing the value of maximal i variable to adjust how many shifts of the points you want to make.
I’ll also add part of the code of what I made with the welding robot, because it may look somewhat similar to the waterjet instructions.
!shift the points from the edge of the workpiece
p93.trans.z:=p93.trans.z+80; !approach point
p94.trans.z:=p94.trans.z+80; !weld starting point
p95.trans.z:=p94.trans.z+20; !weld end point (20 mm from the starting point)
p96.trans.z:=p95.trans.z-20; !departure point
FOR i FROM 1 TO 3 DO
!do the weld
MoveJ p93,v1000,z10,tWeldGun\WObj:=Workobject_1;
ArcLStart p94,v1000,sm1,wd1,fine,tWeldGun\WObj:=Workobject_1\SeamName:=“Part_1_Pth_7_Weld_1”;
ArcLEnd p95,v100,sm1,wd1,fine,tWeldGun\WObj:=Workobject_1;
MoveL p96,v1000,z10,tWeldGun\WObj:=Workobject_1;
!shift all the points for another weld
p93.trans.z:=p93.trans.z+80; !approach point
p94.trans.z:=p94.trans.z+80; !weld starting point (60 mm from the earlier weld end point ->20 mm of weld+60 mm of space)
p95.trans.z:=p94.trans.z+20; !weld end point (20 mm from the starting point)
p96.trans.z:=p95.trans.z-20; !departure point
ENDFOR