I have only worked with encryption in SQL 2005. They added a number of new features in 2008 including "Transparent Encryption". I am not sure if that feature will help you, though. As far as SQL 2005, though:
1) No. You can only encrypt items with a function (EncryptByAsymKey, EncryptBySymKey). You can intercept the inserts with a trigger that will take the value of a column, and divert it through an encryption function to a varbinary column. It seems a bit complex to me, but it is possible.
3) You will need to specifically add a varbinary column for any encypted data in SQL 2005. Again, this may have changed in SQL 2008.
4) As I mentioned, you can handle inserts and updates with the trigger, and you can handle selects "internally" with a view that will decrypt the data on the way out.