Ruby, 4947 characters
(1) Only contains 'a' and 'u', 24 chars:
puts [*97..122].pack'c*'
(2) Only contains 'o' and 'i', 2523 chars:
print [*97$><<[*97.chr..'z'].join
There's a slight difference in output in that the first one adds a newline and the second doesn't. Could add the newline to the second at a cost of 4 characters; removing it from the first would be harder.