Hi Mingfai, 

  1. Some folders cannot be expanded. e.g. XWS, XWSCode, it seems only folder with valid page(s) can be opened. Is it a bug or it is designed in this way? Under XWSCode, there should be something inside it as I can edit in the web interface (e.g. /xwiki/bin/edit/XWSCode/MySpacesCode)
That's because those spaces do not have a WebHome page. Simply go to XWSCode.WebHome in your wiki and create the page (you can put random stuff there). Then you'll be able to edit pages from that space in XEclipse. 
  1. If I want to massively delete objects, is XEclipse suppose to be the most convenient way? when i'm evaluating, I keep removing and re-import pages. It would be great if the XWiki explorer support using Ctrl key to select multiple folder/page. Should I add a Jira new feature request?
No, it's not. You'd better go for a velocity or groovy script that would do the following : 
1) Find every instance of your object through a hql request 2) use #foreach($item in $objectlist) $item.delete()  #end

Those pages will help you doing so : http://platform.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples &  http://code.xwiki.org/xwiki/bin/view/Snippets/HQLQueryTesterSnippet
  1. Is the security permission in XEclipse identical to the web? it's better to me if it hides all folder and pages that the user is not accessible. I tried to connect to www.xwiki.org with XEclipse and I think most folders are expandable except the admin folder. Am i correct that if all pages under a folder is not accessible, the folder is not expandable? I suppose the /xmlrpc/ path shall be strictly limited from public Internet anyway. It looks like a security risk.
Although I think XEclipse uses the wiki's user rights, protecting your wiki's xmlrpc access against potential attacks is always better.

Guillaume