It really depends on the quality of the TV and the image resolution. In our living room we have a 60' and in our bedroom we have 61". Both are DLP sets with really great pictures. You can sit at 6' away and the HD picture looks awesome. If it's in SD format, you would need to be around 10' to 12' for the picture to look good.
Our son has a 46" 1080P LCD TV/computer monitor in his room. He sits around 3' to 4' from the screen when he is playing World of Warcraft or video games and the picture even at 2' from the screen is awesome on 1080P.
If you watch predomenantly SD format, go smaller. If you watch 1080P HD, go as big as you can afford. Get a tv or home theater receiver with a Faroudja or similar video scaler that takes every input, even analog, and scales them to 1080P so you can watch everything through HDMI. It makes a huge difference even on the SD formated channels.
A good home theater receiver for the money is the Pioneer Pioneer VSX-1018AHK:
http://www.vanns.com/shop/servlet/item/features/538907182/pioneer-vsx-1018ahk You can hook all of your video sources to the receiver and have one HDMI cable running to your TV. It helps clean up the wiring mess and is even better if you have a wall mounted TV so you don't have to deal with multiple lines running to the set. If you need the speakers to go with the 7.1 system, the Onkyo SKS-HT540 is the best deal for the price.
http://www.vanns.com/shop/servlet/item/features/544299412/onkyo-sks-ht540-b