Pathfinding does use a grid, as discussed in this thread:
I think you just need to configure the pathfinding grid to match with your tiles.
Most roguelikes achieve the movement I think you are referring to by using turns with a speed factor. Let’s say normal speed is 10. If you and a monster both have speed 10, then you will both move at the same “rate”. Meaning, you take a step, the monster takes a step.
Now imagine you have speed 10 and monster has speed 5. The monster should move half as much as the player. So you’ll take TWO steps, for every ONE that the monster gets.
A fast monster could have speed 30, in this case after player takes a step, the monster will get three in a row.
You can achieve this by simply having a variable that accumulates for each entity. Each round, you add the entity’s speed to that variable. If the variable is > 10 (or whatever value you want to equal 1 move per round) then the entity gets to take one step, and subtract 10 from the variable. If still > 10, take another step, until it is below 10.
You would need another factor to make something move 3 times every other turn, which is not possible with the above system alone. One way would be to have a movement speed which is separate from turn speed, i.e. speed = 5/10, movement = 3.