yes, in theory that would be nice. the problem is that many people have phone numbers longer than 12 digits. You could work around that by having a field for a phone number extension, but it won't allow for all phone numbers such as international users.
using a varchar that short wouldn't save any real disk space and can slow down the database. Might as well use type char(20) so that it has enough room for the vast majority of phone numbers and gain the speed advantage with using a fixed row size in the database (if thats how the database is arranged).