Как оптимизировать php скрипт?
Что значит "правильно оптимизировать"?
Тут всё написано так, что должно выполнятся быстро.
Есть ряд вещей не очень направленных на оптимизацию, а именно:
1. Нет проверки на то, что $userdata пустой (на случай, если у пользователя в куках был user_Id, которого в базе нету, например 9999999).
2. В таком случае избыточная проверка $userdata['user_id'] !== $_COOKIE['id'] - сначала делается запрос "дай мне пользователя с таким id", а потом проверяется "тот ли id ты мне дал?"
3. В строке print "Привет, ".$userdata['user_login'].". Всё работает!".$userdata['user_balance'].; - явно лишняя последняя точка.
4. mysql_* функции считаются плохими для использования. ВСЕ нормальные люди советуют использоватьPDO или MySQLi (в том числе и сайт php.net).
Про преобразование в html: то, что получается на выходе того скрипта - уже html. без тегов, но в принципе html.
Если нужно добавить теги - это можно сделать, но тут надо понимать, что надо получить. Если важно просто "чтобы был html", то поздравляю, он есть.
<?php

// Скрипт проверки
# Соединямся с БД
$db = new mysqli("localhost", "root", "passwd", "base");

if(isset($_COOKIE['id'], $_COOKIE['hash'])) {

  // * -> user_id, user_login, user_hash, user_ip, user_balance
  $result = $db->query('SELECT *,INET_NTOA(user_ip) AS user_ip FROM users WHERE user_id= \'' . intval($_COOKIE['id']) . '\' LIMIT 1');

  $userdata = $result->fetch_assoc();

  if(
    $userdata['user_hash'] !== $_COOKIE['hash'] |
    $userdata['user_id'] !== $_COOKIE['id'] |
    $userdata['user_ip'] !== $_SERVER['REMOTE_ADDR'] & $userdata['user_ip'] !== "0"
  ) {

    $time = time() - 3600*24*30*12;
        setcookie('id', '', $time, '/');
        setcookie('hash', '', $time, '/');

    echo 'Хм, что-то не получилось';
  } else {
    printf('Привет, %s. Всё работает! %s', $userdata['user_login'], $userdata['user_balance']);
  }
} else {
    echo 'Включите куки';
}

$db->close();