Hello,
on windows, I also like portability. One reason is, because there is no standard location for include files or libs. If you compile Code::Blocks yourself, you only have to say Manager::Get()->GetMacrosManager()->ReplaceMacros(helpfile);
in help_plugin.cpp and you're done and can locate your help files relatively to Code::Blocks. Of course it would be nicer, if there was official support.
There are some other issues with portability too, for example regrettably you can't port "User templates". The relocation-mode works much better, if the ConfigManager::GetConfigFolder() API semantics change and the currently used config directory is returned, so essential facilities like "User templates" are also portable, but regarding this discussion (http://forums.codeblocks.org/index.php/topic,5115.0.html) it looks like that won't be officially supported and you're left on your own. On windows I use a portable version with a folder for the config files next to the Code::Blocks executable, if I don't want portability I remove the folder or move the files into the profile and in relocation mode all facilities including User templates a portable. And all that with a very very small patch (in FindConfigFile in configmanager.cpp), if Code::Blocks doesn't find the config in the profile it doesn't look next to the executable but in a folder next to the executable and while changing to relocation mode in the version I use it also sets ConfigManager::config_folder to the currently used config folder relative to the Code::Blocks executable.
Thank you for all the possibilities :D