You're looking for [`Skip`][1].  This does not check for an [`EndOfFile`][2] condition, and should use something like [`BlockStream`][3] to handle aborts, but the following should work:

    strm = OpenRead["filename"];

    (* Repeat the following until done *)

    Skip[strm, String, A];    
    AppendTo[ results, Read[strm, String]]

    (* 
      String just gets the entire line. If the number of elements is 
      constant for each row, then it can be replaced in the Read by   
      ConstantArray[String, numels]~Join~{String}. 
    *)

    Skip[strm, String, B - 2];
    AppendTo[ results, Read[strm, String]]

    (* close the stream *)
    Close[ strm ];
    


  [1]: http://reference.wolfram.com/mathematica/ref/Skip.html
  [2]: http://reference.wolfram.com/mathematica/ref/EndOfFile.html
  [3]: https://mathematica.stackexchange.com/a/1604/52