I think you want this:

    select b.*                             -- show everything
    from table_b b                         -- from table b
    where not exists                       -- when
          ( select 1                       -- there is nothing
            from table_a a                 -- in table a with
            where a.road_id = b.road_id    -- same road,
              and a.year = b.year          -- same year and
              and a.from_m < b.to_m        -- overlapping
              and b.from_m < a.to_m        -- (from, to)
          ) ;