What software is available to customize the functionality of the Apple Remote?
The free BetterTouchTool can do this:
You can set up complex actions to be triggered by any of the buttons being either pressed or held.
Mira can customize the Apple Remote buttons on a per-app basis, and costs $16.
Remote Buddy allows you to customize the Apple Remote and many other devices, however it does cost more than Mira.
Better Touch Tool also allows you to customize the actions of an Apple Remote, as well as trackpad/mouse, but there seems to be issues with the default action still firing with BetterTouchTool (see this question). It is free though.