MySQL | Complex (for me) SQL Statement, how to?
Assuming that (post_id, meta_key) has a UNIQUE constraint, you can join twice to the Meta table:

SELECT 
    p.*,                                          -- replace * with the columns you need
    CAST(m1.meta_value AS SIGNED) AS views,
    CAST(m2.meta_value AS SIGNED) AS maxViews
FROM
    posts AS p
  JOIN
    meta AS m1
      ON  m1.meta_key = 'views'
      AND m1.post_id = p.id
  JOIN
    meta AS m2
      ON  m2.meta_key = 'maxViews'
      AND m2.post_id = p.id
WHERE
    CAST(m1.meta_value AS SIGNED) &lt; CAST(m2.meta_value AS SIGNED) ;


And here is the SQL-Fiddle (thnx to @bluefeet)