Возможно, но это довольно сложно сделать.Класс DataContractSerializerOperationBehavior (где вы обычно заменяете сериализатор путем переопределения метода CreateSerializer) является внутренним в SL, поэтому вы не можете его реально использовать.Что вам нужно сделать, это создать IOperationBehavior, который сделал то, что делает DCSOB, а именно - установить IClientMessageFormatter, который клиент будет использовать для преобразования между телом сообщения (XML Infoset) и параметрами операции / возвращаемыми значениями.Это означало бы написание кода для переноса / развертывания параметров из операции в / из объекта Message.Не совсем невозможно, но это должно работать.
Что касается WP7, у него нет точек расширяемости, необходимых для этого решения (IOperationBehavior, IClientMessageFormatter), которых нет (они были добавлены на SL4 и WP7).примерно совместим с SL3), поэтому я не думаю, что это возможно там - или, по крайней мере, не общим способом (вы можете объявить все свои операции с объектами Message - Message MyOperation (Message input) - и на этом этапе вы можетеиметь дело с сообщением Infoset (GetReaderAtBodyContents) напрямую, но это должно быть сделано при каждом вызове операции.
Обновлено : хорошо, я пытался, и это можно сделать в Windows Phone7 (и Silverlight 3), это намного сложнее. Я воссоздал точки расширения, используя пару пользовательских каналов. Описание того, как это можно сделать, можно найти по адресу http://blogs.msdn.com/b/carlosfigueira/archive/2011/06/21/wcf-extensibility-extensibility-in-windows-phone-and-silverlight-3.aspx.