Вы можете упростить это, просто добавив новую строку для записи, которая начинается с 6, и не добавляя ее, если это не так.
for line in open('infile'):
if line[0] == '6':
print ''
print line.strip() ,
ОК, сначала в файле создается одна пустая строка, и файл может не заканчиваться символом новой строки. Тем не менее, это легко исправить.
Или решение, которое не имеет такой проблемы и ближе к вашему:
newline = ''
for line in open('infile'):
if line[0] == '6':
if newline:
print newline
newline = ''
newline += ' ' + line.strip()
if newline:
print newline
Также работает, но немного дольше.
Тем не менее, я думаю, что ваша главная проблема в том, что вы не удаляете записи, поэтому сохраняете перевод строки.