<p>Basically what I want to do it this: a pdb file contains a location of source files (e.g. <code>C:\dev\proj1\helloworld.cs</code>). Is it possible to modify that pdb file so that it contains a different location (e.g. <code>\more\differenter\location\proj1\helloworld.cs</code>)?</p>

If you're looking to be more generic about the paths embedded in a pdb file, you could first use the MS-DOS
```
subst
```
command to map a particular folder to a drive letter.
```
```
subst N: <MyRealPath>
```
```
Then open your project relative to the N: drive and rebuild it.  Your PDB files will reference the source files on N:.  Now it doesn't matter where you place that particular set of source files, so long as you subsequently call the root directory "N:" like you did when you built it.
This practice is recommended by John Robbins in his excellent book,
Debugging Applications for Microsoft .NET and Microsoft Windows
.