All good things to be thinking about, but as you start down this path I'm sure you'll have more questions than answers a lot of the time!
I'm going to assume you're using Windows Forms when you mention Desktop and Linq-To-SQL, which will give you a few challenges in implementing something such as an MVP pattern.
While there are pre-tailored MVP frameworks for WinForms (MVC# comes to mind), if you're not developing large-scale apps then you may want to start gently and implement some of the concepts using your own code.
Jeremy Miller's excellent Build Your Own CAB series of articles is a great resource here, as you can take some of the first few ideas out of there and get some separation of concerns between your forms (Presentation) and business logic (Presenters and Service classes).
Jeremy uses mainly a Supervising Controller design in his work (which I love), but its worth looking at other patterns such as Passive View and Model-View-ViewModel (which is baked into the WPF way of working, so worth understanding), to see what you feel most comfortable with.
As for your question on service classes or repositories, I'd think the main two levels of logic you'd want is Presenter or ViewModel entities, and then Service entities below that which can contain things like your Linq-To-SQL queries. So you may already have much of the logic for your Service layer there, but it's more a case of refactoring it into a consistent form.