is there any way to setCollisionByProperty() like in Phaser 3 but in Phaser 2 ?
No, but I think you can do
tilemap.setCollision(
tilemapLayer
.getTiles()
.filter((tile) => tile.properties.collides)
.map((tile) => tile.index),
true
);