The array you have defined will occupy one contiguous block of memory. As far as I can remember the order of elements on this block will be [1,1], [1,2], [2,1], [2,2] ... [10,1], [10,2]. So you will have 20 DBDs (for example) with these indices. If we assume that the array is located in DB1 starting at address DBD24, then you need to output DB1.DBD100, move (DB1.DBD24 thru DB1.DBD96) to (DB1.DBD28 thru DB1.DBD100), and bring the new value in to DB1.DBD24, in that order.
The inputing and outputing should be simple enough (load and transfer) and the move can be done using a BLKMOV. I've a vague memory from somewhere that the 'from' and 'to' areas of a BLKMOV can't overlap, so you may need to do two moves: first out to a temporary area and then back in from there to the array.
The only other alternative is to abandon the array and treat the list of 20 elements as a table. You can then use FC90 to manipulate the contents of the table. Despite its name, Word Shift Register, FC90 can be parameterised to be used with different data types including REALs. Here the whole operation of inputting a new value and shifting the other 19 values up the table by one location is handled in a single FC.
Regards
Ken