Can a computable program have an infinite output?
Our general rule is one question per post.  I'll answer the first question.

A program can certainly produce infinite output.  It can enter an infinite loop producing output.  Consider everyone's first program in Basic:

10 PRINT "Hello World!"
20 GOTO 10


It makes no sense to talk about a program being computable.  There's no need to you write a program to output a program.  Instead, you can just write the program you want in the first place.  Instead of talking about computable programs, computability is about languages.  We talk about languages being computable.  Check the definition of computability.