Yes, you can pass a string to a SQL Server stored procedure. The length will depend on the version. SQL Server 6.5 will be limited to 255. Version 7 is limited to 8000 byte.
There are two ways to return a character string from a SQL Server stored procedure. The first way is to return it as a result set. The second way would be to return it through an OUTPUT parameter.
-Mike