Freebsd doesn't show command output correctly in Putty

Try using the -w option:

From the MAN page:

 -w      Use 132 columns to display information, instead of the default which is your
         window size.  If the -w option is specified more than once, ps will use as
         many columns as necessary without regard for your window size.  When output
         is not to a terminal, an unlimited number of columns are always used.

This is a feature/bug of putty, not FreeBSD. putty always tells the other OS what its width and height are. You can show this easily by doing one of your truncating ps commands, then widen the putty screen. You can see that the lines were truncated. Now give the ps comand again: you will see more columns.

In essence, what you are asking putty to do is to lie about the width of your window (giving a number larger than what it really is showing) and to wrap the longer lines intelligently. That will work fine for ps and ls -l and so on, and fail miserably for vi or any other full-screen editor. Such lying can also cause display of information that can be misinterpreted because of the wrapping. There may be a mode of putty that does this, but I could not find it.