Sería básicamente como
esto.
Como hay varios botones cuyo funcionamiento es el mismo, utilizamos clases para identificarlos y diferenciarlos (botones de eliminación y adición de filas). Cuando se produce un clic en el cuerpo de la tabla, tomamos al botón, la celda en la que está y la fila que alberga a ambos elementos y los almacenamos en variables.
A continuación, trabajamos con condiciones para determinar las acciones a realizar según sea el botón pulsado. Si es el de adición: se clona la fila en la cual se encuentra el botón; se retira al botón de adición de la celda que ocupa y, finalmente, se añade la fila clonada al cuerpo de la tabla. Si se pulsa el botón de eliminación, preguntamos al usuario si está seguro de eliminar la fila. De ser positiva la respuesta, verificamos que haya más de una fila en el cuerpo de la tabla y un botón a la derecha del pulsado (o sea, el de adición); de ser así, clonamos al botón siguiente (el de adición) y lo añadimos en la última celda de la fila previa. Finalmente, eliminamos del cuerpo de la tabla a la fila en la que se encuentra el botón pulsado.
Si no quieres que se pregunte al usuario si está seguro de eliminar la fila, solo elimina la condición en cuestión.