неужели у Вас даже такая простейшая задача завела в тупик? Или все-таки нежелание подумать?

Помочь паскаль-кодом или пока что псевдо-кода хватит?)))))
1. Пишите функцию определяющую часть теста, т.е. либо до "p" числа слов.
2. Читаете файл построчно.
2.1. относительно текущей строки применить функцию из п.1, которая вернет Вам начальную часть строки, кот. содержит P слов...
2.1.1 пишете эту строку в файл....
2.1.2 измеряете длину полученной строки ( length(str) ), далее находите аналогично длину всей строки. Вычитаете:
From := Общая_длина_строки - длина только что записанной
Во второй файл пишите то, что осталось (если что-то осталось) а иначе пишите пустую строку, так она пустой и будет, если ничего не осталось от позиции From:)
Ведь все просто, неправда ли?;)