Sandhya,
You don't need a seperate pacakge. The News and FAQ packages are unrelated to Edit-This-Page. ETP just happens to have application implementations that are similar to News and FAQ. Basically it shows you that you can quickly create a new application without programming an entire package.
Greg is right. The examples of etp::define_application are in etp-init.tcl. That is probably the easiest place to defien your new application. Init files are only sourced on startup, so after changing this file, you need to restart the server before the changes will take effect.
Now, from you description of the data model, ETP might not be for you. It is a replacement for one-table applications. It looks like you need at least 3 tables, or 3 different content types, which will have to be contained in each other. ETP does not handle this type of situation currently. You will want to use the content repository. There are ways to define content types that are contained in other content types. You can restrict which content-types can be children of a certain type. For example, book is a content type that can contain chapter objects. A chapter can contain section objects. I would make sections able to contain other section objects, and remove the seperate subsection type. So subsection would be a section object with another section as a parent instead of a chapter.
Ok, this is a lot to digest. I suggest reading this documentation:
http://dev.openacs.org/doc/acs-content-repository/ (note: this link will break at some point)
especially this part: http://dev.openacs.org/doc/acs-content-repository/guide/object-relationships.html
and if you have any more questions, please ask them here.