For your question, PS3 uses spry and ajax to load categories dynamically. in your Main.dwt.php file, try adding this line of code:
after this line:
which is line 139 on my file.
For the second question, that is going to take a lot of custom coding because the categories are dynamically loaded. but if you wanted to accomplish this, you will need to create a record set using the ps3_productcategories table in the product results page where the ProductCagegoryID equal the the CategoryID, then you will need another record set that filters the ps3_categories table based on the CategoryID so you get the name of the category.
For your third question, as long as you don't update the menu, the order should be displayed correctly.