EDIT: I sort of forgot to answer the question. The way I'd store the path, would be however you find it most convenient.
One way would be to parse the level file, taking each command and storing it into a position/movement object that has an x and a y that you place into an array.
Example:
Move x 250
Move y 50
Move x 50
Move y -50
Move x 100
Would turn into
[(250,0), (0,50), (50, 0), (0,-50), (100,0)]
Then when you read your array, you can take the x and the y of the first index and put them into xMov and yMov (since you just use perpendicular paths you only have something stored in x or y at a time).
After every movement you subtract however far you went in that update from either xMove or yMov. Once you reach 0 in both, you read the next index of the array and store it in xMov and yMov again. Repeat until it finishes and your object is off the screen. Note you will need an xMov, yMov, and index variable for each object, so if you have more than one make sure you're using the correct one.
Essentially this looks overly complicated and maybe like nonsense, but it's really not too hard to implement. You could do the same exact thing as a grid since essentially we're using the pixels as a grid here.