Specifying rows and columns makes MATLAB point to rectangles: a(1:2,1:4) refers to rows 1 and 2, columns 1 through 4, i.e. MATLAB doesn't take pairs of row/column but a range.
To change non-neighboring values you can specify their index.
There are two ways to index values in a matrix, you can do it by row and column or by a linear index. (You don't need to know this to solve your problem, but...) The linear index looks like this:
a = [1 2 3 4; 3 3 4 5; 4 4 4 7];
MATLAB has a nice function called sub2ind to convert rows and columns to linear index, which will let you address the non-neighboring values that you want to change:
ind = sub2ind(size(a),[1 2 3],[1 3 2])
With that index in hand, it's easy to adjust the values: