your gotta a lot of questions, so to lets start like this

* Making your own website

-deigning tools :
there are tons out there but basically every tool == bulk code to you site
so what i beilive is only of hardcoding BUT you can use a tool to help you in the processes
i recommend the use of Dreamweaver, dont use the design view of it to make your site becuase the way DW arrange elements causes a lot of unneccassary coding [btw it is the tool that generates least of bulk ]
so you can basically use the Intelisense of it to fast up the development process, belive me you can save your time a lot

-making the design :
what many begginers [including me when i started off] is trying to make an immagination== just imagine how you need the site to be then start coding THIS IS FAILURE because soon you find that you need to change certain things and things are not getting rite, so first deign up your layout on gepahic file [i use photoshop] and then it is easier, you can easily get up your colour scheme + the colour codes with the help of the graphic program (in PS you have colour chooser etcetccc)

-coding:
before coding think about the coding requirements, like wheather you need serverside script handling to your website, or it is just a normal one. i think a portfoilio if you are continuing it for a long time you must use PHP like thing with a DB so that the adding up new items gets alot easier + saves time + clear up your codes

-admin panel:
this is not a MUST, but depending on your site you may need one
ex: for a bid commercial site you will have to have one or you will have to manualy ad certain thing like new db records later
by the name admin panel doesnt always means a COMPLETE CMS like administration, because many sites after creating doesnt need to have extra pages, they just need to update their DB records so that it is like adding up new pages nyway [show the value of dynamic page creation, a VERY useful option]

*CMS systems
for a freelancer, this is good and bad
good because you dont have the headache of managing resources/dbs making admin panels etc....
there are tons of uses likw thw plugin system
but the flexibity of the site reduces when you use the CMS system
like you cannot just make according to ANy design that comes to your mind
you have to ibey to a certain template system

so you need to learn alot of these things, basically the best way to learn things is by experience it self
try some FREE website stuff for friends or some free templates and get used to it
after that itz juz a piece of cake D

good luck