"I want to keep some mapping between web pages to be shown and corresponding id defined in BPMN file" That doesn't sounds as a good idea...
When you say: "IDs are defined manually by a developer who writes the BPMN file" this is true when you have a controlled scenario that will never change. The IDs will change because if you remove and add a new one with the graphical editor the ID will be incremented and the new node will not have the old ID. As you mention you cannot rely on the other ID (the long one) because you don't know the algorithm used to generate that. You are creating a strong binding from the process to the BPMN file which is not a good idea. Why not using a Task List Oriented Approach, where the user picks the tasks from a list of pending tasks, and if the user just have one task, that task is automatically displayed?
Cheers