There are many articles on how to do SharePoint development on an XP pc. E.G http://fernandof.wordpress.com/2008/02/11/how-to-install-the-sharepoint-2007-vs-2005-extensions-on-a-workstation/
The question is does this give you the same experience as the recommended method of developing directly on a SharePoint server?
The bottom line is NO. The reason is that these methods still won't allow you to connect to a SharePoint web.
i.e Anything like this won't work
this._Web = SPContext.Current.Web; or
this._Web = new SPSite(http://<IP_ADDRESS>).OpenWeb();
In other words you can compile but to see the results you will have to deploy to a SharePoint server.
The only exception to this rule is with web parts where code doesn't actually interact with the SharePoint object model and is just a standalone web part. Then you can test your web part by creating a web project with web part zones and run your web part from there.
If that hasn't put you off here are a couple of extra steps you may need to get going with SharePoint dev on XP.
1) Copy all the DLLs out of the GAC of SharePoint install.
From http://mossofall.blogspot.com/2007/05/how-to-get-microsoftsharepoint-dlls-out.html
So, to extract these DLLs (for example in the c:\temp folder), I use a classic XCOPY command in command line from the folder C:\windows\assembly\ :
XCOPY GAC_MSIL c:\temp /
Then use a normal windows search to find all dll in temp folderabd copy out the SharePoint related ones.

Copy the DLLS to your local GAC. i.e to C:\windows\assembly
Do an IISRESET.
2) If you get a personalization web.config error when testing we parts in local web part zone enabled Site
Make sure you set personalization on your web part manager off for testing locally
<asp:WebPartManager ID="uiWPManager" runat="server" Personalization-Enabled="false"></asp:WebPartManager>