You could set up Confluence and JIRA and link them together via Application Links. So you can display a list of issues from JIRA in Confluence.
Then you would create Issues for your requirements. An issue type requirement sounds like a great idea :-) You have to decide if you want to enable other issue types for the same project, too. I would suggest to do so. Then you would have all requirements, bugs and tasks within the same project where they belong to.
Unfortunately JIRA does not create different issue keys for different issue types. So RPX-1 could be a requirement and RPX-2 a bug. For me that never was a problem. When your requirements document is growing, you may delete old requirements or insert new ones, and the numbers are no more continuous. The main thing is that the keys are unique and stable (do not change over time).
The description of the requirements can be crafted into the JIRA issues or into Confluence pages. That depends on how you like to work (try out both and choose one). I would start trying with this setup:
- create a corresponding JIRA project and a Confluence space
- requirements have a short title (unique)
- requirements have a component
- in Confluence create one page for every component
- describe all your requirements there (maybe with mockups?)
- at the bottom of the page you could include a list of JIRA issues matching a certain filter ()
- your project
- type requirement
- the component that is described at this page
- so you have the resulting document in Confluence, all descriptions on one page and the links into JIRA underneath. If you update JIRA it will be reflected into Confluence automatically
- If you wish you can export the whole space and get a nice PDF document for all your requirements
Maybe this page is also useful for you: http://confluence.atlassian.com/display/DOC/Integrating+JIRA+and+Confluence