Where is the list of pinned start menu and taskbar items stored in Windows 7

You can find pinned apps in:

%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

and for the start menu apps go to:

%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu

You can find the programs that you have pinned to the start menu at:

C:\Users\USERNAME\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned

and the taskbar shortcuts are at:

C:\Users\USERNAME\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

Just copying shortcuts into these locations does not work. You can, however, add shortcuts via a VBScript:

Const CSIDL_COMMON_PROGRAMS = &H17 
Const CSIDL_PROGRAMS = &H2 
Set objShell = CreateObject("Shell.Application") 
Set objAllUsersProgramsFolder = objShell.NameSpace(CSIDL_COMMON_PROGRAMS) 
strAllUsersProgramsPath = objAllUsersProgramsFolder.Self.Path 
Set objFolder = objShell.Namespace(strAllUsersProgramsPath & "\Accessories") 
Set objFolderItem = objFolder.ParseName("Calculator.lnk")
Set colVerbs = objFolderItem.Verbs 
For Each objVerb in colVerbs 
    If Replace(objVerb.name, "&", "") = "Pin to Start Menu" Then objVerb.DoIt
Next

The list that includes all pinned files and folders as well as programs is in the Registry under this key:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2

The relevant values are Favorites, FavoritesChanges, and ProgramsCacheSMP. Unfortunately, they're all binary and therefore really hard to modify directly. Each pinned entry appears multiple times even within one data blob, and it's not clear which ones need to be modified for the changes to take effect. I can confirm that changing all instances of, say, Thing1 to Thing2, then killing and restarting Explorer did result in the pinned entry being changed to Thing2.