Если я что-то понимаю, то регистрация доменного имени - это размещение на некоторых DNS серверах записи о твоём IP и доменном имени. Бесплатные хостинги никогда (насколько мне известно) не дают IP адрес.
Есть 2 пути: первый - для серьёзных людей - покупается сервер и размещается на площадке у какого-нибудь провайдера, который предоставляет доступ к сети и IP адрес. Потом с этим сервером можно делать что угодно. Но нам это вряд ли подходит по причинам экономического характера. Второй путь связан с, так называемыми, виртуальными серверами. Протокол HTTP предусматривает при передаче запроса серверу передачу доменного имени сайта, к которому происходит обращение. Это позволяет на одном компьютере с одним IP хранить несколько сайтов и при запросе выдавать документ с нужного, определяемого по доменному имени. Многие провайдеры предоставляют такую услугу - размещение сайта на их сервере с предоставлением доменного имени второго уровня. Но это тоже услуга не бесплатная.
Впрочем, я тут подумал, есть третий путь - подмножество второго - размещать на сервере не сайт, а только перенаправление на другой домен (на любом другом хостинге, на бесплатном, например). Но это тоже услуга, которая требует абонентской платы, если мы хотим домен второго уровня. Если третьего, то можно и бесплатно. Что-то вроде www.dyndns.org должно помочь.
Кстати, этот сайт (dyndns.org, в смысле) (и не только этот) позволяет бесплатно назначить доменное имя для домашнего компьютера с динамическим IP - просто при каждой смене IP серверу посылается соответствующая информация.