Частично разобрался, mod_rewrite работает отлично. Дело в какой-то мне неведомой фиче апача, которая если нету директории /var/www/id/ но есть файл /var/www/id.[php|html|htm|???] выводит его.
Т.е. получается по адресам
http://localhost/id,
http://localhost/id/,
http://localhost/id/123/ выводится файл /var/www/id.php, а директива "RewriteRule ^
id/([0-9]*)(/){0,1}$ id.php?id=$1" в .htaccess просто игнорируются.
Кто знает, подскажите что это за фича и как ее отключить, в моем случае она совершенно неуместна.
Разобрался! Прошу прощения за беспокойство. Кто столкнется с таким-же поведением апача, смело убирайте директиву MultiViews в конфиге хоста.