<?php
//$provincia se obtiene de un select, cuyo valor es el id_provincia
$provincia = (int)$_POST['lst1'];
$poblacion = (int)$_POST['lst2'];
//La siguiente línea es lo que yo tengo para introducir el ID y el nombre de la población.
//$sql = "INSERT INTO tabla (Provincia, Poblacion) VALUES ('$provincia','$poblacion')";
//Lo siguiente es lo que tu me has enviado
$id = $provincia;
$sql = '
insert into tabla
(
Provincia,
Poblacion
) values (
(select id_prov from lista_provincias where id = '.(int)$provincia.' limit 1),
(select id_prov from lista_poblaciones where id = '.(int)$poblacion.' limit 1)
)
';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
La provincia seleccionada es <?php echo (int)$provincia; ?><br />
La población seleccionada es <?php echo (int)$poblacion; ?><br />
</body>
</html>
Intenta ordenar tu código y separa el controlador de la vista para que cuando necesites modificar algo sepas donde está cada cosa, o sea, poner el código php en un lado y el html en otro.
Cuando escribas <br> estás usando html4, pero cuando usas xhtml como está puesto en la cabecera de tu sitio web debes utilizar <br />.
Recuerda utilizar cast, o sea establecer el tipo de variable, si $provincia es numérico entonces utiliza (int), si es un string entonces usa (string), si es un array entonces usa (array) y así para prevenir ataques de tipo y que te inyecten código como por ejemplo una inyección sql o un xss.
Saludos.