I'm hoping someone can help point me in the right direction on some server configuration / application setup I am looking to do.

I currently have an Ubuntu LAMPP server running out of my home. I want to expand its functionality to better support the increased travel I'm experiencing with my job.

As I travel between clients I run into issues where I have to use their provided PCs / images which makes porting my programs & files between PCs a but clumsy.
I'm looking for a more elegant solution to this problem and would ideally like to be able to setup something like portable firefox and have access to my crucial apps / data no matter the PC or location. Hence, I am looking to configure my home server to host the applications / data and provide a simple interface for managing these.

The particulars of what I would like to do is enhance the functionality of the server in these 2 key areas
- Web application server
- Web file server

For the web application server, I would love be able to embed select applications / functionality into webpages. A few of the applications / functionality I would like to run across the web:
- Office
- Music player / playlists of some fashion
- Video streaming
- Bit torrent client
- IM client
- Notebooks (I really would like to have One Note like compatible note / task management center)

I'm currently utilizing XMing to access applications across the web, but would like to move to entirely webpage based application hosting. The music / videos are of particular interest to me.

On the file server, I've currently configured an FTP server but its not quite what I am looking for. I can access the files most places, but what I would really like to expand the functionality into is:
- Mounted external drive (what should I use to do this in Windows as I don't always have the luxury of connecting to the FTP server from Linux)
- Select file synchronization for an "offline mode" type functions
- Version / revision history of the repository

Additionally, are there any enhancements that would allow me to use tagging to create a file structure instead of folders? I've found that helps me stay better organized.

Thanks in advance