1. cant tell for sure (dont know hourly rates in your country), but afaik paypal integration is pretty straightforward.
2. Do you mean to send a link to your page to a Google after you published it in your CMS? No, Google does not provide such a feature. All pages are indexed organically.
3. For a simple category tree, you could use table like that:
id - int, auto_increment;
id title parentid position
1 Cars 0 1
2 BMW 1 2
3 Audi 1 3
title - varchar or text,
parentid - int, references a parent category
position - just generate a unique number when creating category. Later you change position just by swapping this position number for a category that is to be moved, and next (or previous) to it. And you output your category list with ORDER BY position ASC (or DESC, depends on your implementation).
4. Very similiar to categories. Page can be a row in database with parentid referencing to parent page. If you want to generate a sitemap, take a look here: http://stackoverflow.com/questions/2...tion-list-menu