For upload purposes both webdav and the ftp folders are a good option. When you want to implement a portlet to display the contents of those folders you can use an OOB portlet like the folderview portlet.
If you decide that you want to use a custom portlet then one of the easiest choices would be to use the Attachments Control. However, if you want to iterate over the contents of the folder and display the items in a custom manner, then you’ll want to use the PortalContainerModel and PortalItemModel with javadocs here: http://ajax-softwareag.com/articles/Y4LCDN/Caf-7-1-1JavaDocs/com/webmethods/caf/faces/data/portal/package-summary.html
In all these cases, you’ll configure the FolderViewPortlet|AttachmentsControl|PortalContainerModel to have the same id as the webdav|ftp folder.
Hope this helps.