I don't believe you can automatically say "don't let this box collide with a tile if the data is wrong", but you can, in theory, use the 'data for collided tile' block and a 'sensor' collision box to detect what the metadata of a tile is and build logic accordingly. I say, 'in theory', because I remember trying to do this about a year ago and discovering that the 'data for collided tile' block is not very consistent when it's used with a 'sensor' collision box. (However, It seems consistent when used with a solid collision box, though.)