You can't change the size of an array in C; as declared, your stuff array will always have 5 elements (where each element is a 20-element array of char).
What you can do is copy the contents of the fifth element to the fourth element:
strcpy(stuff[3], stuff[4]); // overwrites "four" with "five"
and then empty out the fifth element:
strcpy(stuff[4], ""); // zeros out the first element in the subarray
or
memset(stuff[4], 0, sizeof stuff[4]); // zeros out entire subarray
Either way, your array will now contain the strings
{ "one", "two", "three", "five", "" }
If you really want to change the number of elements in the list (not just clear out the last one), you'll have to use a different strategy.
Problems like this usually call out for a data structure known as a linked list; each element in the list explicitly points to the next element. You can add, remove, and re-order elements in a linked list much more easily than you can in an array (even though an array can be used as the backing store). There are a number of examples (of varying quality) on the Web. However, if you can find a copy of Sedgewick's "Algorithms in C", that would be a better resource.
char stuff [][20] = ...